Cmake学习

HarderHeng Lv5

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使用setunset设置或者取消设置变量。

  • 一般变量:

值可以是字符串,数字或者列表

1
2
set(DEBUD_MODE 1)
set(WARNING_LEVEL 2)
  • Cache变量,也就是缓存条目,主要是为了提供用户选项配置,如果用户没有指定,则使用默认值。Cache变量的值会保存到CmakeLists.txt中,即使重新运行Cmake也不会丢失,并且可以在整个Cmake目录中访问到。
1
2
set(CACHE_VAR "default_value" CACHE STRING "this is a description")
#set(<变量名> <值> CACHE <类型> <"描述">)
  • 环境变量:

就是操作系统的环境变量

1
2
3
# set(ENV{<variable>} [<value>])
set(ENV{ENV_VAR} "$ENV{PATH}")
message("Value of ENV_VAR: $ENV{ENV_VAR}")
  • Title: Cmake学习
  • Author: HarderHeng
  • Created at : 2024-12-20 13:44:28
  • Updated at : 2025-03-06 20:53:34
  • Link: https://harderheng.life/2024/12/20/Cmake学习/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments