aux_source_directory(. DIR_SRCS) # 指定生成目标 add_executable(demo ${DIR_SRCS}) 这样,CMake 会将当前目录所有源文件的文件名赋值给变量DIR_SRCS,再指示变量DIR_SRCS中的源文件需要编译成一个名称为 demo 的可执行文件。 新建build目录是方便我们清理cmake产生的缓存文件,不需要的时候直接删除build目录即可 ...
#add_executable (hello_mongoc ${DIR_SRCS}) #target_link_libraries (hello_mongoc PRIVATE mongo::mongoc_static) 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...]) 它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUD...
#加入源文件到DIR_SRCS(局部变量) aux_source_directory(. DIR_SRCS) #依据文件夹名称获得库名 string(REGEX REPLACE ".*/(.*)" "\\1" LIB_NAME ${CMAKE_CURRENT_SOURCE_DIR}) #本文件夹存在源文件则将主CMkakeLists.txt中LIBNAMES进行比较 if (DIR_SRCS) foreach(libname ${LIBNAMES}) #在主CMak...
aux_source_directory(<dir> <variable>) 搜索文件内所有的源文件:CMake 会将当前目录所有源文件的文件名赋值给变量 DIR_SRCS ,再指示变量 DIR_SRCS 中的源文件需要编译成一个名称为 Demo 的可执行文件。 # 查找当前目录下的所有源文件 # 并将名称保存到 DIR_SRCS 变量 aux_source_directory(. DIR_SRCS) ...
aux_source_directory(. DIR_SRCS) # 指定生成目标 add_executable(Demo ${DIR_SRCS}) 这样,CMake 会将当前目录所有源文件的文件名赋值给变量 DIR_SRCS ,再指示变量 DIR_SRCS 中的源文件需要编译成一个名称为 Demo 的可执行文件。
aux_source_directory(. DIR_SRCS) # 添加 math 子目录 add_subdirectory(math) # 指定生成目标 add_executable(Demo main.cc) # 添加链接库 target_link_libraries(Demo MathFunctions) 该文件添加了下面的内容: 第3行,使用命令add_subdirectory指明本项目包含一个子目录 math,这样 math 目录下的 CMakeLists.tx...
add_subdirectory(sub_dir [binary_dir]) set_property 在给定的作用域内设置一个命名的属性 find_library 查找系统库 多个源文件处理 aux_source_directory(. DIR_SRCS) or file(GLOB DIR_SRCS *.c *.cpp) add_library(native-lib SHARED ${DIR_SRCS})...
aux_source_directory(. DIR_SRCS) 查找当前目录下所有源文件 并将源文件名称列表保存到DIR_SRCS变量。这是一条很有用的命令,如果源文件很多,把所有文件一个一个add进来很麻烦,这条指令很简单的解决了该问题 set 设置CMake变量,举个几个栗子: #设置可执行文件的输出路径(EXECUTABLE_OUTPUT_PATH 是全局变量) ...
当本地源文件很多,如果将源文件都加到里面就很烦,所以这里采用aux_source_directory。CMake 会将当前目录所有源文件的文件名赋值给变量DIR_SRCS,再指示变量DIR_SRCS中的源文件需要编译成一个名称为 Demo 的可执行文件。 这样就避免出现下面这种情况: 代码语言:javascript ...
第8行指定源文件目录为src,并将其赋值给环境变量DIR_SRCS 第10行设定环境变量TEST_MATH的值为环境变量DIR_SRCS的值,此处用于显示如何用环境变量对环境变量进行赋值 第14行将数学函数库赋值给环境变量LIBRARIES,当然,可以不用这个环境变量,而在后面直接使用该库名 ...