在这个示例中,我们首先将 CMake 的最小版本设置为 3.0,然后设置项目名称为 MyProject。接着,我们通过设置 CMAKE_C_STANDARD 为99 来指定 C 语言标准为 C99,并通过设置 CMAKE_C_STANDARD_REQUIRED 为ON 来强制要求使用该标准。最后,我们添加了一个名为 my_executable 的可执行目标,其源文件为 main.c。
#Require C99 and C++11 compilers set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIREDON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIREDON) set(CXX_EXTENSIONSOFF) #Project metadata set(PROJECT_VENDOR"Thomas Fussell")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wno-deprecated-declarations -Wno-address-of-packed-member") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations -Wno-address-of-packed-member") add_compile_options(-Wno-deprecated-declarations -Wno-address-of-packed-member...
... -- Requiring C++11 -- Requiring C++11 - done -- Requiring C99 -- Requiring C99 - done ... no problems? I'm actually having a hard time finding an old compiler that fails during CMake's configuration stage. However when building with MSVC++ 9.0: ...
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wno-deprecated-declarations -Wno-address-of-packed-member") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations -Wno-address-of-packed-member") add_compile_options(-Wno-deprecated-declarations -Wno-address-of-packed-member...