如何查看 CMake 使用了哪些 gcc 选项?

How to see which gcc options are use by CMake?

有谁知道默认情况下在调试和发布配置中 CMake 和 gcc 使用了哪些构建标志?

  1. cmake-gui,它会打印你当前项目中使用的所有变量。

  2. 如果您正在构建过程中,可以执行make VERBOSE=1查看实际命令(当然包括标志)

将我的评论变成答案

GNU 的默认设置在 Modules/Compiler/GNU.cmake:

中定义
# Initial configuration flags.
string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g")
string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os -DNDEBUG")
string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3 -DNDEBUG")
string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG")

但其余部分实际上取决于您使用的 platform/compiler。所以你必须 运行 一个 CMake "hello world" 项目来查看使用了什么(参见@hellow 的回答)。

参考文献

  • Which variable for compiler flags of CMake's ADD_LIBRARY function?