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是否正确?
答案 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会告诉你它不是吗?