官网:[ CMake 内置变量](cmake-variables(7) — CMake 4.2.1 Documentation)
提供信息的变量
PROJECT_NAME
项目命令中指定的项目名称。
这是当前目录作用域或其上级作用域中最近调用的 project() 命令所指定的名称。要获取顶级项目的名称,请参见 CMAKE_PROJECT_NAME 变量。
改变行为的变量
CMAKE_BUILD_TYPE
指定单配置生成器(如Makefile生成器或Ninja)的构建类型。典型值包括Debug、Release、RelWithDebInfo和MinSizeRel,但也可定义自定义构建类型。
描述系统的变量
Linux
在版本 3.25 中添加。
当目标系统为 Linux 时设置为 true。
UNIX
当目标系统为UNIX或类UNIX系统(如APPLE和CYGWIN)时设置为True。若需更精确地识别目标系统,应查询CMAKE_SYSTEM_NAME变量。
WIN32
当目标系统为 Windows(包括 Win64)时,请设置为 True。
控制构建的变量
CMAKE_AUTOMOC
是否为 Qt 目标自动处理 moc。
set(CMAKE_AUTOMOC ON)
CMAKE_AUTORCC
是否为 Qt 目标自动处理 rcc。
set(CMAKE_AUTORCC ON)
CMAKE_INCLUDE_CURRENT_DIR
自动将当前源目录和构建目录添加到包含路径中。
若启用此变量,CMake将自动将CMAKE_CURRENT_SOURCE_DIR和CMAKE_CURRENT_BINARY_DIR添加至每个目录的包含路径。这些新增的包含目录不会向子目录传播。此功能主要适用于脱离源代码构建的情境,即构建树中生成的文件需被源代码树中的文件包含时。
默认情况下,CMAKE_INCLUDE_CURRENT_DIR 为off。
语言变量
CMAKE_CXX_STANDARD
Added in version 3.1.
设置C++标准
set(CMAKE_CXX_STANDARD 17)
CMAKE_CXX_STANDARD_REQUIRED
是 CMake 中一个关键的布尔型变量,用于控制是否强制要求编译器必须支持您在 CMAKE_CXX_STANDARD中指定的 C++ 标准版本 set(CMAKE_CXX_STANDARD_REQUIRED ON)