简介 :
cmake全称(cross-platform make),是一个跨平台的软件构建工具。cmake解析特定语法的CMakeLists.txt文件,生成若干文件和Makefile文件,然后通过make去执行对软件的构建、测试、打包、安装等功能。
下面的内容总结了一些编写cmake脚本时的一些常用命令和变量,方便使用时查阅
命令(Command):
命令名称 | 命令含义 |
---|---|
if | 判断条件是否成立 |
add_subdirectory | 为构建添加一个子路径(含CMakeLists.txt) |
add_definitions | 添加-D选项 |
set | 设置变量的值 |
include | 包含cmake文件 |
include_directories | 依赖的头文件路径 |
execute_process | 执行shell命令 |
string | 对字符串的操作 |
message | 打印消息或变量的值 |
link_libraries | 可添加链接选项或链接的库 |
add_compile_options | 添加编译选项 |
list | 对列表的操作,如求长度,追加等 |
link_directories | 要链接库的路径 |
foreach | 循环 |
add_custom_target | 添加一个目标,该目标总是会被执行,但没有输出文件 |
add_custom_command | 增加自定义的command |
add_dependencies | 添加依赖 |
add_library | 使用指定的源文件向工程中添加一个库 |
add_executable | 使用给定的源文件,为工程引入一个可执行文件 |
set_target_properties | 设置目标的属性 |
get_target_property | 从一个目标中获取一个属性值 |
aux_source_directory | 查找在某个路径下的所有源文件 |
check_cxx_source_compiles | 检测代码是否能被编译成可执行文件 |
find_library | 查找一个库,找到的库路径保存在第一个参数中 |
option | 设置一个变量开关(可通过cmake -D变量名=变量值设置) |
add_test | 添加测试用例 |
set_tests_properties | 设置测试用例执行结果预期输出 |
变量(Variables):
变量名 | 含义 |
---|---|
LIBRARY_OUTPUT_PATH | 库输出路径 |
EXECUTABLE_OUTPUT_PATH | 可执行文件生成路径 |
CMAKE_BUILD_TYPE | 构建类型,如Debug , Release , RelWithDebInfo , MinSizeRel |
CMAKE_CXX_FLAGS | c++编译选项 |
CMAKE_C_FLAGS | c编译选项 |
CMAKE_FIND_ROOT_PATH | 首先被搜索的路径 |
CMAKE_TOOLCHAIN_FILE | 交叉工具链相关cmake |
CMAKE_C_COMPILER | 交叉工具链C编译器路径 |
CMAKE_CXX_COMPILER | 交叉工具链C++编译器路径 |
CMAKE_MODULE_PATH | 自定义的模块路径,默认为空,include时优先搜索这个变量所配置的路径 |
CMAKE_SOURCE_DIR | cmake要构建的代码路径 |
CMAKE_BINARY_DIR | build目录 |