CMake是一个开源、跨平台的工具,旨在构建、测试和打包软件,CMake可以使用简单的语句和编译配置文件来控制软件的编译过程。在这里主要介绍CMake语句、CMake的流程控制、内置变量、查看log
CMake语句主要有3类用法:
- 设置变量:set、file、list、find_library、aux_source_directory、generator expressions;
- 设置target:就是呀构建的目标是什么,语句有add_library、add_executable;
- 设置target的属性:包括add_definitions、target_link_libraries、link_directories、include_directories、target_include_directories;
一、设置变量的CMake语句
set语句:可以将一个或者多边值赋值给变量
set(SystemPath include/de/test/h);
set(SystemPath
include/de/test1/h
include/de/test2/h
include/de/test3/h
include/de/test4/h)
file:使用正则表达式来匹配文件,将文件路径赋值给第一个参数,通常和GLOB来一起使用
file(GLOB gemfield_SRC_list ${root}/*?*.cpp)
List:对list进行各种操作,第一个参数表示操作类型。
list(REMOVE_ITEM ......)
find_library:寻找一个库,将找到的库的绝对路径赋值给变量
find_library(libg_path lib.tt PATHS ${CUDA_TOOLKIT_ROOT_Dir}/lib32)
aux_source_directory:将指定目录中的所有文件名称存储在一个类型是list的集合变量中。
二、设置taget
Add_library :将名称为name参数的修改为一个Library
add_library(test SOURCES $(FileSources))
add_executable:使用指定的源文件来添加一个执行的工程
三、设置target属性
add_defintions:添加一个宏
target_link_libraries:添加编译lib库
target_link_libraries(test $(testLibes) name)