set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} \
-fPIC -Wall -pedantic -Wextra -Werror \
-Wno-missing-braces -Wno-unused-variable \
-Wno-ignored-qualifiers -fdiagnostics-color")
< /code>
Я хочу опустить опцию -wextra для одного файла заголовка; /externals/include/foo.hpp (это сторонняя библиотека только для заголовка и дает ошибку: [-werror = неиспользованный параметр] при составлении). < /p>
Я пробовал set_source_files_properties < /code> Как это < /p>
set_source_files_properties(${EXTERNALS_SOURCE_DIR}/foo.hpp PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -Wno-extra")
< /code>
Но не может избавиться от ошибки компиляции. < /p>
Есть ли способ сделать это либо в Cmake, либо с использованием #pragmas в самом файле заголовка? the error:
- Create a file foo_wrapper.hpp.
- Add _pragma to ignore the trouble maker compilation flag
- Use the wrapper header everywhere in the project instead of the actual header.
_Pragma("GCC diagnostic push")
_Pragma("GCC diagnostic ignored \"-Wunused-parameter\"")
#include "foo.hpp"
_Pragma("GCC diagnostic pop")
< /code>
`< /p>
Подробнее здесь: https://stackoverflow.com/questions/605 ... eader-file
Мобильная версия