CMake: add an option to run IWYU in verbose mode
This helps to diagnose places where IWYU asks to include headers for internal stdlib details.
This commit is contained in:
parent
7ac338be98
commit
25f0b4f397
@ -313,6 +313,11 @@ if(CMake_RUN_IWYU)
|
||||
endif()
|
||||
set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE
|
||||
"${IWYU_COMMAND};-Xiwyu;--mapping_file=${CMake_SOURCE_DIR}/Utilities/IWYU/mapping.imp;-w")
|
||||
option(CMake_IWYU_VERBOSE "Run include-what-you-use in verbose mode" OFF)
|
||||
if (CMake_IWYU_VERBOSE)
|
||||
list(APPEND CMAKE_CXX_INCLUDE_WHAT_YOU_USE
|
||||
-Xiwyu -v7)
|
||||
endif ()
|
||||
list(APPEND CMAKE_CXX_INCLUDE_WHAT_YOU_USE ${CMake_IWYU_OPTIONS})
|
||||
endif()
|
||||
|
||||
|
@ -76,7 +76,7 @@
|
||||
# __decay_and_strip is used internally in the C++11 standard library.
|
||||
# IWYU does not classify it as internal and suggests to add <type_traits>.
|
||||
# To ignore it, we simply map it to a file that is included anyway.
|
||||
# Use '-Xiwyu -v7' to see the fully qualified names that need this.
|
||||
# Use 'CMake_IWYU_VERBOSE' to see the fully qualified names that need this.
|
||||
# TODO: Can this be simplified with an @-expression?
|
||||
#{ symbol: [ "@std::__decay_and_strip<.*>::__type", private, "\"cmConfigure.h\"", public ] },
|
||||
{ symbol: [ "std::__decay_and_strip<bool>::__type", private, "\"cmConfigure.h\"", public ] },
|
||||
|
Loading…
Reference in New Issue
Block a user