CMake:取决于生成类型的默认标志

CMake: default flags depending on build type

本文关键字:默认 标志 类型 取决于 CMake      更新时间:2023-10-16

我在一个项目中使用CMake 2.8.12.2,我注意到根据构建类型,它会向编译器添加一些标志。在Release构建类型的情况下,它会添加-O3-NDEBUG

问题是,由于这个项目将在不同的平台上使用,我不知道他们使用的是哪个CMake版本(当然是2.8以上),我想知道每个构建类型是否有一些默认标志,或者这个功能是否取决于CMake的版本。

我知道我可以将我的标志添加到变量CMAKE_CXX_FLAGS_*中,但我希望通过只添加一次标志而不覆盖已经完成的内容来保持编译的"干净"。

这将在发布标志中添加"-Wall"

set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall")

-O3-NDEBUG已被CMake使用了相当长的一段时间;以至于你不必担心它们,因为在实践中,它们独立于CMake版本。