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 里面的${}