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()