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
)