Merge pull request #23092 from webosbrew/feature/webOS
[xbmc.git] / cmake / modules / buildtools / FindIncludeWhatYouUse.cmake
blobb22225ae5c0a5854ed6a8fe3518bdb664c569053
1 #.rst:
2 # FindIncludeWhatYouUse
3 # ---------------------
4 # Finds include-what-you-use and sets it up to run along with the compiler for C and CXX.
6 find_program(IWYU_EXECUTABLE NAMES include-what-you-use iwyu)
8 if(IWYU_EXECUTABLE)
9   execute_process(COMMAND "${IWYU_EXECUTABLE}" --version
10                   OUTPUT_VARIABLE IWYU_VERSION
11                   OUTPUT_STRIP_TRAILING_WHITESPACE)
12   string(REGEX MATCH "[^\n]*include-what-you-use [^\n]*" IWYU_VERSION "${IWYU_VERSION}")
13   string(REGEX REPLACE "include-what-you-use ([^ \n\r\t]+).*" "\\1" IWYU_VERSION "${IWYU_VERSION}")
14 endif()
16 include(FindPackageHandleStandardArgs)
17 find_package_handle_standard_args(IncludeWhatYouUse REQUIRED_VARS IWYU_EXECUTABLE
18                                   VERSION_VAR IWYU_VERSION)
20 if(INCLUDEWHATYOUUSE_FOUND)
21   # Supports Unix Makefiles and Ninja
22   set(CMAKE_C_INCLUDE_WHAT_YOU_USE "${IWYU_EXECUTABLE}" PARENT_SCOPE)
23   set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE "${IWYU_EXECUTABLE}" PARENT_SCOPE)
24 endif()
26 mark_as_advanced(IWYU_EXECUTABLE)