RunCMakeTest.cmake 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. include(RunCMake)
  2. function(run_test name)
  3. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
  4. run_cmake(${name})
  5. set(RunCMake_TEST_NO_CLEAN 1)
  6. run_cmake_command(${name}-build ${CMAKE_COMMAND} --build . --config Debug)
  7. run_cmake_command(${name}-test ${CMAKE_CTEST_COMMAND} -C Debug)
  8. endfunction()
  9. function(run_build_verbose name)
  10. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
  11. run_cmake(${name})
  12. set(RunCMake_TEST_NO_CLEAN 1)
  13. run_cmake_command(${name}-build ${CMAKE_COMMAND} --build . --verbose --config Debug)
  14. endfunction()
  15. run_cmake(DisabledPch)
  16. run_cmake(PchDebugGenex)
  17. run_test(PchInterface)
  18. if (CMAKE_GENERATOR MATCHES "Ninja")
  19. run_test(PchInterfaceShort)
  20. endif ()
  21. run_test(PchInterfaceUnity)
  22. run_cmake(PchPrologueEpilogue)
  23. run_test(SkipPrecompileHeaders)
  24. run_test(CXXnotC)
  25. run_test(PchReuseFrom-CMP0141-OLD)
  26. run_test(PchReuseFrom-CMP0141-NEW)
  27. if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
  28. run_test(PchReuseFrom-CMP0141-NEW-empty)
  29. endif()
  30. run_test(PchReuseFromPrefixed)
  31. run_test(PchReuseFromSubdir)
  32. run_build_verbose(PchReuseFromIgnoreOwnProps)
  33. run_build_verbose(PchReuseFromUseUpdatedProps)
  34. run_build_verbose(PchReuseConsistency)
  35. run_cmake(PchReuseFromCycle)
  36. run_cmake(PchReuseWithoutPch)
  37. run_build_verbose(PchReuseAppend)
  38. run_cmake(PchMultilanguage)
  39. run_build_verbose(PchReuseDeclarationOrder)
  40. if(RunCMake_GENERATOR MATCHES "Make|Ninja")
  41. run_cmake(PchWarnInvalid)
  42. if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND
  43. CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 11.0.0 AND
  44. NOT CMAKE_C_SIMULATE_ID STREQUAL "MSVC")
  45. run_cmake(PchInstantiateTemplates)
  46. endif()
  47. endif()
  48. run_test(PchReuseFromObjLib)
  49. run_test(PchIncludedAllLanguages)
  50. run_test(PchIncludedOneLanguage)
  51. run_test(PchLibObjLibExe)