CMake 内置变量

0 阅读2分钟

官网:[ 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)