比如,CMAKE_CURRENT_LIST_DIR 变量用于存储当前处理的CMakeLists.txt文件所在的目录的路径。在CMakeLists.txt文件中使用此变量的示例如下: add_library(MyLibrary STATIC ${CMAKE_CURRENT_LIST_DIR}/src/my_library.cpp) 上述示例中,我们使用CMAKE_CURRENT_LIST_DIR变量指定源文件的路径。同样,CMAKE_BINARY_DIR...
3)aux_source_directory命令 命令语法:aux_source_directory(<dir> <variable>) 命令简述:用于将 dir 目录下的所有源文件的名字保存在变量 variable 中 使用范例:aux_source_directory(src DIR_SRCS) 4)add_executable 命令 命令语法:add_executable(<name> [WIN32] [MACOSX_BUNDLE][EXCLUDE_FROM_ALL] source...
<projectname>_BINARY_DIR(二进制文件保存路径) <projectname>_SOURCE_DIR(源代码路径) cmake系统也帮助我们预定义了PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR其值与上述对应相等 SET(变量名 变量值) SET(VAR [VALUE] [CACHE TYPEDOCSTRING [FORCE]]) SET(SRC_LIST main.c t1.ct2.c) SET(SRC_LIST main.c)...
SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src" BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-build" CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" TEST_COMMAND "" ) 上述用于加载ExternalProject,下载指定源码的 master 版本,以及存放路径,还可以指定补丁等。在CMakeLists.txt中加入: 代码...
aux_source_directory(${PROJECT_SOURCE_DIR}/src DIR_SRCS) 添加子目录源文件 使用命令 add_subdirectory 指明本项目包含一个子目录,这样子目录下的 CMakeLists.txt 文件和源文件也会被处理。 项目包含多个子目录时,通常可以在子目录下也定义 CMakeLists.txt 文件,并通过 add_library 生成包含子目录源码的库文件...
cmake_minimum_required(VERSION 3.0) project(MyProject) # 搜索当前目录的src目录下所有的.cpp源文件 file(GLOB MAIN_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") # 搜索当前目录的include目录下所有的头文件 file(GLOB MAIN_HEAD "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h") # 根据搜索到的源文件...
作用: 把当前路径下src目录下的所有源文件路径放到变量hello_src中 命令:aux_source_directory(<dir> <variable>) 作用:查找dir路径下的所有源文件,保存到variable变量中. 上面的例子中,hello_src是一个自定义变量,在执行了aux_source_directory(./src ${hello_src})之后,我就可以像这样来添加一个可执行文件:...
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) aux_source_directory (src SRC_LIST) include_directories (include) add_executable (main ${SRC_LIST}) 同时,还要把src目录下的CMakeLists.txt删除。 然后正常编译运行就可以。 五 动态库和静态库的编译控制 ...
add_executable(many ${DIR_SRCS}) 最后执行以下命令即可 mkdirbuild && cd build && cmake .. &&make 多目录+子目录.a文件 我们稍作修改一下,我们想让math先编译成.a文件,这样math的用途可以更广 注意目录结构中,math文件夹里多了一个CMakeLists.txt文件,这意味着math文件夹可以独立编译 ...
aux_source_directory(src SRC_DIR_SRCS) # 查找当前目录下的所有源文件并将名称保存到 CUR_DIR_SRCS 变量中 aux_source_directory(. CUR_DIR_SRCS) #从SRC_DIR_SRCS与CUR_DIR_SRCS中编译出可执行文件hello add_executable(hello ${SRC_DIR_SRCS} ...