RunCMakeTest.cmake 1.0 KB

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