CMake:抑制所有警告

Dug*_*gas 8 c++ cmake

我正在尝试做一些非常简单的事情:

我必须处理一个引发大量编译警告的 C++ 项目。暂时,我只想在运行 make 时看到错误。我需要在 CMakeLists.txt 中添加什么才能实现这一点?越简单越好。

Dug*_*gas 10

事实证明答案是简单地添加一行

add_definitions(-w)

到 CMakeLists.txt

我花了比应有的时间更长的时间才找到这个简单的答案。

  • @Frank它不会影响*每个目标*。它仅影响在同一目录或子目录中定义的目标,并且仅影响在使用之后定义的目标(因为这会更新目录属性)。不使用“add_definitions”的原因是因为在这种情况下它实际上应该是“add_compile_options”,因为“add_definitions”用于预处理器定义。 (3认同)
  • @Frank:但这就是问题的目的 - 影响**整个项目**。另一种方法是设置“CMAKE_CXX_FLAGS”或“CMAKE_C_FLAGS”。 (2认同)