fd41e2f8e3acbb9181dd8d7d66dc3264b81f4dd6
[platform/upstream/cmake.git] / Tests / RunCMake / PrecompileHeaders / RunCMakeTest.cmake
1 cmake_policy(SET CMP0057 NEW)
2 include(RunCMake)
3
4 function(run_test name)
5   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
6   run_cmake(${name})
7   set(RunCMake_TEST_NO_CLEAN 1)
8   run_cmake_command(${name}-build ${CMAKE_COMMAND} --build . --config Debug)
9   run_cmake_command(${name}-test ${CMAKE_CTEST_COMMAND} -C Debug)
10 endfunction()
11
12 run_cmake(DisabledPch)
13 run_cmake(PchDebugGenex)
14 run_test(PchInterface)
15 run_cmake(PchPrologueEpilogue)
16 run_test(SkipPrecompileHeaders)
17 run_test(CXXnotC)
18 run_test(PchReuseFrom)
19 run_test(PchReuseFromPrefixed)
20 run_test(PchReuseFromSubdir)
21 run_cmake(PchMultilanguage)
22 if(RunCMake_GENERATOR MATCHES "Make|Ninja")
23   run_cmake(PchWarnInvalid)
24
25   if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND
26       CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 11.0.0 AND
27       NOT CMAKE_C_SIMULATE_ID STREQUAL "MSVC")
28     run_cmake(PchInstantiateTemplates)
29   endif()
30 endif()
31 run_test(PchReuseFromObjLib)
32 run_test(PchIncludedAllLanguages)
33 run_test(PchIncludedOneLanguage)
34 run_test(PchLibObjLibExe)