Search code examples
compiler-errorscmakeqt-creatorcompiler-warnings

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


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.


Solution

  • 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.