CMake:C11的CMakeLists

时间:2016-10-10 14:05:08

标签: cmake ide clion c11

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而我正在使用CLion IDE。 在这个IDE中,唯一可能的选项是使用CMake进行项目,我读了一些CMake手册(也在堆栈溢出中),我找不到现成的解决方案来为C11项目编写正确的CMakeLists。

set(CMAKE_C_STANDARD 11)

此行设定C11标准。

set(CMAKE_COMPILER_IS_GNUCC TRUE)

此行将gcc设置为编译器。

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")

此行将编译标志设置为IDE的默认值。

我的CMakeLists.txt是否正确?

1 个答案:

答案 0 :(得分:3)

set(CMAKE_COMPILER_IS_GNUCC TRUE)
只应读取

CMAKE_COMPILER_IS_GNUCC来测试哪个编译器对应于当前的生成器,例如:

if(CMAKE_COMPILER_IS_GNUCC)
    # do something special for GNU C compiler
endif()

删除它。如果需要指定编译器(但不需要),可能需要阅读this

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")

此行绝对没有任何内容:您将CMAKE_C_FLAGS设置为自己的内容。只需删除它。

  

我的CMakeLists.txt是否正确?

在建造时,CLion会告诉你它不是吗?