Cmake基础#
Cmakelists.txt是cmake构建系统的配置文件,可以自动生成构建系统,并且进行编译测试。
使用Cmake命令进行构建系统的生成,cmake -B build指定build目录为构建目录,就能够根据目录中的Cmakelists.txt在build中生成makefile。
- 可以通过
-S dir指定包含Cmakelists.txt的根目录。 - 可以通过
-D <var>=<value>将数值传递给Cmakelists.txt中的变量,可以控制构建的debug版本等等行为。
在build中生成makefile之后,执行cmake --build build,即指定build目录开始进行构建,其实就相当于在build目录下进行make。
CmakeLists.txt语法#
1.注释#
- 行注释使用
#this is comments - 多行注释使用
#[[this is comments]]
2. 变量#
Cmake使用set和unset设置或者取消设置变量。
- 一般变量:
值可以是字符串,数字或者列表
set(DEBUD_MODE 1)set(WARNING_LEVEL 2)- Cache变量,也就是缓存条目,主要是为了提供用户选项配置,如果用户没有指定,则使用默认值。Cache变量的值会保存到CmakeLists.txt中,即使重新运行Cmake也不会丢失,并且可以在整个Cmake目录中访问到。
set(CACHE_VAR "default_value" CACHE STRING "this is a description")#set(<变量名> <值> CACHE <类型> <"描述">)- 环境变量:
就是操作系统的环境变量
# set(ENV{<variable>} [<value>])set(ENV{ENV_VAR} "$ENV{PATH}")message("Value of ENV_VAR: $ENV{ENV_VAR}")