CMake 会将以下 3 种形式的名称作为保留标识符,⾃定义变量或命令时 应当注意避开它们:

  • 以 “CMAKE_” 开头的名称(不区分⼤⼩写); _
  • 以 “CMAKE” 开头的名称(不区分⼤⼩写);
  • 下画线 “_” 加上 CMake 中任意⼀个预定义命令的名称, 如 “_message” 。

自定义变量

set(var_a 您好 )

set(var_b a)

message(${var_${var_b}})

$CACHE{ 缓存变量 }

$ENV{ 环境变量 }

CMake自动定义的变量

  • CMAKE_ARGC 表⽰ CMake 脚本程序在被 cmake -P 命令⾏调⽤执⾏ 时,命令⾏传递的参数个数。
  • CMAKE_COMMAND 表⽰ CMake 命令⾏程序所在的路径。
  • CMAKE_HOST_SYSTEM_NAME 表⽰宿主机操作系统(运⾏ CMake 的操作系统)名称。
  • CMAKE_SYSTEM_NAME 表⽰ CMake 构建的⽬标操作系统名称。默 认与宿主机操作系统⼀致,⼀般⽤于交叉编译时,由开发者显式设置。
  • ......

工具链文件定义的变量

Preset宏

CMakePresets.json 里面的${}

表达式