CMake:C11的CmakeList

CMake:C11的CmakeList,cmake,ide,clion,c11,Cmake,Ide,Clion,C11,我正在学习C11,我正在使用CLion IDE。 在这个IDE中,唯一可能的选择是在项目中使用CMake,我阅读了一些CMake手册(也在堆栈溢出中),我没有找到为C11项目编写正确的CMakeLists的现成解决方案 cmake_minimum_required(VERSION 3.6) project(Example) set(CMAKE_C_STANDARD 11) set(CMAKE_COMPILER_IS_GNUCC TRUE) set(CMAKE_C_FLAGS "${CMAKE_

我正在学习C11,我正在使用CLion IDE。 在这个IDE中,唯一可能的选择是在项目中使用CMake,我阅读了一些CMake手册(也在堆栈溢出中),我没有找到为C11项目编写正确的CMakeLists的现成解决方案

cmake_minimum_required(VERSION 3.6)
project(Example)

set(CMAKE_C_STANDARD 11)
set(CMAKE_COMPILER_IS_GNUCC TRUE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")

set(SOURCE_FILES main.c)
add_executable(Example ${SOURCE_FILES})
这条线设置了C11标准

set(CMAKE_C_STANDARD 11)
此行将gcc设置为编译器

set(CMAKE_COMPILER_IS_GNUCC TRUE)
此行将编译标志设置为IDE的默认值

我的CMakeLists.txt正确吗

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
CMAKE\u COMPILER\u IS\u GNUCC
只能在测试与当前生成器对应的编译器时读取,例如:

set(CMAKE_COMPILER_IS_GNUCC TRUE)
把它拿走。如果需要指定编译器,则可能需要读取(但不需要)

这一行完全不起作用:您可以使用自己的内容设置
CMAKE\u C\u标志。把它拿走

我的CMakeLists.txt正确吗


建筑时,克莱恩告诉你不是吗?

谢谢。我删除了这些行,它在加载符号时运行得更快。
if(CMAKE_COMPILER_IS_GNUCC)
    # do something special for GNU C compiler
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")