mirror of
https://github.com/rwengine/openrw.git
synced 2024-11-22 10:22:52 +01:00
a40a2706a9
The output is currently very verbose and includes many false positives. Adding a mapping file should solve this. See https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUMappings.md
30 lines
826 B
CMake
30 lines
826 B
CMake
find_program(
|
|
INCLUDE_WHAT_YOU_USE_PROGRAM
|
|
NAMES include_what_you_use iwyu
|
|
)
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(IncludeWhatYouUse
|
|
REQUIRED_VARS
|
|
INCLUDE_WHAT_YOU_USE_PROGRAM
|
|
)
|
|
|
|
if(INCLUDEWHATYOUUSE_FOUND)
|
|
include(CMakeParseArguments)
|
|
|
|
function(iwyu_check)
|
|
cmake_parse_arguments("IWYU" "" "TARGET" "EXTRA_OPTS" ${ARGN})
|
|
set(IWYU_CMD "${INCLUDE_WHAT_YOU_USE_PROGRAM}")
|
|
foreach(OPT ${IWYU_EXTRA_OPTS})
|
|
list(APPEND IWYU_CMD "-Xiwyu" ${OPT})
|
|
endforeach()
|
|
set_target_properties("${IWYU_TARGET}"
|
|
PROPERTIES
|
|
C_INCLUDE_WHAT_YOU_USE
|
|
"${IWYU_CMD}"
|
|
CXX_INCLUDE_WHAT_YOU_USE
|
|
"${IWYU_CMD}"
|
|
)
|
|
endfunction()
|
|
endif()
|