1、PROJECT_SOURCE_DIR/CMAKE_SOURCE_DIR/_SOURCE_DIR:为包含PROJECT()命令的最近一个CMakeLists.txt文件所在的文件夹路径。2、PROJECT_BINARY_DIR 运行cmake命令的目录,即工程编译发生的路径 例如: PROJECT_SOURCE_DIR:/opt/c++/ctest/test PROJECT_BINARY_DIR:/opt/c++/ctest/test/build3、PROJECT_NAME:本CMa...
顶级目标是由 add_executable() , add_library() 或 add_custom_target() 命令之一创建的目标(但不是由CMake生成的目标,如 install )。 添加子目录:add_subdirectories():子目录中要有CMakeLists.txt文件,否则会报错。 包含其他cmake文件:include(./path/to/tool.cmake) 或set(CMAKE_MODULE_PATH ${CMAKE...
1、首先用cmake_minimum_required (VERSION 3.14.1)指定所需cmake的最小版本。 2、project(name CXX C)指定工程名称,这个会影响PROJECT_SOURCE_DIR(第一个project所在的CMakelist.txt所在的文件的目录)的值 3、通用的属性可以放在单独的文件中如ToolChain.cmake,然后可以用include (ToolChain.cmake)等方式饱含。
生成项目构建系统cmake [<选项>] <源路径>cmake [<选项>] <现有构建路径>cmake [<选项>] -S <源路径> -B <构建路径>建立一个项目cmake --build <目录> [<选项>] [-<构建工具选项>]安装项目cmake --install <目录> [<选项>]打开一个项目cmake --open <目录>运行脚本cmake [{-D = <值>...
cmake --build . --parallel 4 --config release 继续从F盘运行命令: cmake --build "g:/work/cmake_work/just_for_cmake_compile/build/" --parallel 4 --config release 即: 放大有: 目录结构: 这说明可以在任意路径下对于通过CMake以命令行方式对源代码进行编译,从而在某种程度上获得了更大的自由。
1、对于CMakeLists.txt,通过构建一个test库和一个可执行文件main,对test库添加3个编译选项:一个是范围为PRIVATE的PRIVATE_PRINT,一个是范围为PUBLIC的PUBLIC_PRINT,一个范围是INTERFACE的INTERFACE_TEST_DEF;对main可执行文件添加范围为PUBLIC的DEBUG_PRINT。 2、对于源文件:test.cpp在定义PRIVATE_PRINT宏时会打印一...
cmake3.22.1 g++11.4.0 target_compile_options 命令格式: target_compile_options(<target> [BEFORE] <INTERFACE|PUBLIC|PRIVATE> [items1...] [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...]) 该命令添加编译选项到编译目标中,与add_compile_options不同的是,target_compile_options针对构建的目标添加编译选...
cmake -B build -S . 这里的-B build选项指定了构建目录的名称,而-S .指定了源代码目录,即当前目录。 编译项目 一旦构建目录被创建,并且构建文件生成完毕,你可以进入该目录并使用以下命令来编译项目: cd buildcmake --build . 这条命令会调用默认的构建工具(例如make或ninja),根据CMakeLists.txt文件中定义的...
# 编译SRC变量所代表的源代码文件,生成main可执行文件 add_executable(main ${SRC}) 1. 2. 3. 4. Cmake常用变量 CMAKE_C_FLAGSgcc编译选项 CMAKE_CXX_FLAGSg++编译选项 #在CMAKE_CXX_FLAGS编译选项后追加-std=c++11 set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") ...