2020-02-01 23:06:01 +01:00
|
|
|
cmake_policy(SET CMP0057 NEW)
|
|
|
|
include(RunCMake)
|
|
|
|
|
|
|
|
function(run_test name)
|
|
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
|
|
|
|
run_cmake(${name})
|
2020-08-30 11:54:41 +02:00
|
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
|
|
run_cmake_command(${name}-build ${CMAKE_COMMAND} --build . --config Debug)
|
|
|
|
run_cmake_command(${name}-test ${CMAKE_CTEST_COMMAND} -C Debug)
|
2020-02-01 23:06:01 +01:00
|
|
|
endfunction()
|
|
|
|
|
|
|
|
run_cmake(DisabledPch)
|
2020-08-30 11:54:41 +02:00
|
|
|
run_cmake(PchDebugGenex)
|
2020-02-01 23:06:01 +01:00
|
|
|
run_test(PchInterface)
|
2024-02-06 21:22:06 +01:00
|
|
|
run_test(PchInterfaceUnity)
|
2020-02-01 23:06:01 +01:00
|
|
|
run_cmake(PchPrologueEpilogue)
|
|
|
|
run_test(SkipPrecompileHeaders)
|
2021-09-14 00:13:48 +02:00
|
|
|
run_test(CXXnotC)
|
2022-11-16 20:14:03 +01:00
|
|
|
run_test(PchReuseFrom-CMP0141-OLD)
|
|
|
|
run_test(PchReuseFrom-CMP0141-NEW)
|
|
|
|
if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
|
|
|
|
run_test(PchReuseFrom-CMP0141-NEW-empty)
|
|
|
|
endif()
|
2020-02-01 23:06:01 +01:00
|
|
|
run_test(PchReuseFromPrefixed)
|
|
|
|
run_test(PchReuseFromSubdir)
|
|
|
|
run_cmake(PchMultilanguage)
|
2020-08-30 11:54:41 +02:00
|
|
|
if(RunCMake_GENERATOR MATCHES "Make|Ninja")
|
|
|
|
run_cmake(PchWarnInvalid)
|
2021-09-14 00:13:48 +02:00
|
|
|
|
|
|
|
if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND
|
2022-03-29 21:10:50 +02:00
|
|
|
CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 11.0.0 AND
|
|
|
|
NOT CMAKE_C_SIMULATE_ID STREQUAL "MSVC")
|
2021-09-14 00:13:48 +02:00
|
|
|
run_cmake(PchInstantiateTemplates)
|
|
|
|
endif()
|
2020-08-30 11:54:41 +02:00
|
|
|
endif()
|
2021-09-14 00:13:48 +02:00
|
|
|
run_test(PchReuseFromObjLib)
|
2021-11-20 13:41:27 +01:00
|
|
|
run_test(PchIncludedAllLanguages)
|
2022-04-13 00:32:21 +02:00
|
|
|
run_test(PchIncludedOneLanguage)
|
2021-11-20 13:41:27 +01:00
|
|
|
run_test(PchLibObjLibExe)
|