CC 版本选择

C 和 C++的通缉版本可以分别使用变量 CMAKE_C_STANDARD (接受值为 98,99 和 11)和 CMAKE_CXX_STANDARD (接受值为 98,11 和 14) 全局指定 :

set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 11)

这些将在目标上添加所需的编译选项(例如,gh 的 -std=c++11)。

通过分别设置 ON 变量 CMAKE_C_STANDARD_REQUIREDCMAKE_CXX_STANDARD_REQUIRED 可以使版本成为一个要求。

必须在创建目标之前设置变量。也可以按目标指定版本:

set_target_properties(foo PROPERTIES
    CXX_STANDARD 11
    CXX_STANDARD_REQUIRED ON
)