add_subdirectory (math)set(EXTRA_LIBS ${EXTRA_LIBS} MathFunctions) endif (USE_MYMATH) # 查找当前目录下的所有源文件 # 并将名称保存到 DIR_SRCS 变量 aux_source_directory(. DIR_SRCS) # 指定生成目标 add_executable(Demo ${DIR_SRCS}) target_link_libraries (Demo ${EXTRA_LIBS}) 其中: 第7行...
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...
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 的可执行文件。
# 查找当前目录下的所有源文件,并将名称保存到 DIR_SRCS 变量 aux_source_directory(. DIR_SRCS) # 添加第三方的库 set(INC_DIR /usr/local/include/) #用全路径 set(LINK_DIR /usr/local/lib) #用全路径 include_directories(${INC_DIR})
当本地源文件很多,如果将源文件都加到里面就很烦,所以这里采用aux_source_directory。CMake 会将当前目录所有源文件的文件名赋值给变量DIR_SRCS,再指示变量DIR_SRCS中的源文件需要编译成一个名称为 Demo 的可执行文件。 这样就避免出现下面这种情况: 代码语言:javascript ...
set(DIR_SRCS MathFunctions.cc main.cc ) # 指定生成目标 add_executable(${ PROJECT_NAME} ${ DIR_SRCS}) 多个目录下的多个源文件 本节对应的源代码路径如下:/cmake-demo/Demo3 首先查看一下本示例的目录结构: . ├── CMakeLists.txt ├── main.cc ...
使用范例:aux_source_directory(src DIR_SRCS) 4)add_executable 命令 命令语法:add_executable(<name> [WIN32] [MACOSX_BUNDLE][EXCLUDE_FROM_ALL] source1 source2 … sourceN) 命令简述:用于指定从一组源文件 source1 source2 … sourceN 编译出一个可执行文件且命名为name ...
第8行指定源文件目录为src,并将其赋值给环境变量DIR_SRCS 第10行设定环境变量TEST_MATH的值为环境变量DIR_SRCS的值,此处用于显示如何用环境变量对环境变量进行赋值 第14行将数学函数库赋值给环境变量LIBRARIES,当然,可以不用这个环境变量,而在后面直接使用该库名 ...