CMake:默认标志取决于构建类型

时间:2014-10-22 08:38:14

标签: c++ compilation cmake

我在项目中使用CMake 2.8.12.2,我注意到,根据构建类型,它会向编译器添加一些标志。对于 发布 构建类型,它会添加-O3-NDEBUG

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

我知道我可以将我的标志添加到变量CMAKE_CXX_FLAGS_*,但是我想通过仅添加标志一次而不是覆盖已经完成的标记来保持编译“干净”。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

CMake已经使用了

-O3-NDEBUG很长一段时间了;你不应该担心它们,因为在实践中它们独立于CMake版本。