如何查看 CMake 使用了哪些 gcc 选项?
How to see which gcc options are use by CMake?
有谁知道默认情况下在调试和发布配置中 CMake 和 gcc 使用了哪些构建标志?
有cmake-gui,它会打印你当前项目中使用的所有变量。
如果您正在构建过程中,可以执行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?
有谁知道默认情况下在调试和发布配置中 CMake 和 gcc 使用了哪些构建标志?
有cmake-gui,它会打印你当前项目中使用的所有变量。
如果您正在构建过程中,可以执行
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?