Ignore/only show errors/warnings from certain directory using CMake

风格不统一 提交于 2019-12-04 02:55:56

问题


main question: Is there a configuration for cmake, to show or ignore compiler warnings/errors only from a certain directory?

alternative solution: How can I toggle this in QtCreator?

background / motivation: I'm working on a bigger CMake-project and want to focus on warnings and errors only from my subproject. I'm working with QtCreator and it annoys me to look for "my" errors/warnings under a pile of foreign ones.


回答1:


You can set compiler warning options in CMake at least for certain target or certain files.

# For target
set_target_properties(your_project_name PROPERTIES COMPILE_FLAGS "...")

# For files
set_source_files_properties(
  ${list_of_your_files}
  PROPERTIES
  COMPILE_FLAGS "..."
)

It is also possible to set the options per-folder basis by separating your project as subproject, add it using add_subdirectory(your_project) and in your project CMakeLists.txt use add_definitions(...).

From CMake documentation:

add_definitions Adds flags to the compiler command line for sources in the current directory and below.




回答2:


Basically the same as @ronkot's answer. But don't need add_subdirectory for certain directory, using set_source_files_properties with file(GLOB_RECURSE ...) also works.

file(GLOB_RECURSE SRC_DIR "SRC_DIR/*.c" "SRC_DIR/*.h")

set_source_files_properties(
  ${SRC_DIR}
  PROPERTIES
  COMPILE_FLAGS "-w"
)


来源:https://stackoverflow.com/questions/15133332/ignore-only-show-errors-warnings-from-certain-directory-using-cmake

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!