b3475ba57b
The 'ctest --launch' command must be placed before the IWYU launcher on the compiler command line. Extend the RunCMake.IncludeWhatYouUse test to cover this case. The Ninja generator already does it correctly.
23 lines
630 B
CMake
23 lines
630 B
CMake
include(RunCMake)
|
|
|
|
set(RunCMake_TEST_OPTIONS "-DPSEUDO_IWYU=${PSEUDO_IWYU}")
|
|
|
|
function(run_iwyu lang)
|
|
# Use a single build tree for tests without cleaning.
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${lang}-build)
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
|
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
|
run_cmake(${lang})
|
|
|
|
set(RunCMake_TEST_OUTPUT_MERGE 1)
|
|
run_cmake_command(${lang}-Build ${CMAKE_COMMAND} --build .)
|
|
endfunction()
|
|
|
|
run_iwyu(C)
|
|
run_iwyu(CXX)
|
|
if (NOT RunCMake_GENERATOR STREQUAL "Watcom WMake")
|
|
run_iwyu(C-launch)
|
|
run_iwyu(CXX-launch)
|
|
endif()
|