RunCMakeTest.cmake 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. include(RunCMake)
  2. set(RunCMake_TEST_OPTIONS -DNoProject=1)
  3. run_cmake(BeforeProject)
  4. unset(RunCMake_TEST_OPTIONS)
  5. run_cmake(NotOn)
  6. function(run_CMakeCTestArguments)
  7. run_cmake_with_options(CMakeCTestArguments "-DCMAKE_CTEST_ARGUMENTS=--quiet\\;--output-log\\;output-log.txt")
  8. set(RunCMake_TEST_NO_CLEAN 1)
  9. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CMakeCTestArguments-build)
  10. if(RunCMake_GENERATOR MATCHES "Make|Ninja")
  11. set(test "test")
  12. else()
  13. set(test "RUN_TESTS")
  14. endif()
  15. run_cmake_command(CMakeCTestArguments-test ${CMAKE_COMMAND} --build . --config Debug --target "${test}")
  16. endfunction()
  17. run_CMakeCTestArguments()
  18. function(run_TestfileErrors)
  19. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/TestfileErrors-build)
  20. run_cmake(TestfileErrors)
  21. set(RunCMake_TEST_NO_CLEAN 1)
  22. run_cmake_command(TestfileErrors-build ${CMAKE_COMMAND} --build . --config Debug)
  23. run_cmake_command(TestfileErrors-test ${CMAKE_CTEST_COMMAND} -C Debug)
  24. endfunction()
  25. run_TestfileErrors()
  26. function(run_SingleConfig)
  27. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SingleConfig-build)
  28. run_cmake(SingleConfig)
  29. set(RunCMake_TEST_NO_CLEAN 1)
  30. run_cmake_command(SingleConfig-build ${CMAKE_COMMAND} --build .)
  31. run_cmake_command(SingleConfig-test ${CMAKE_CTEST_COMMAND}) # No -C Debug required for single-config.
  32. endfunction()
  33. if(NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
  34. run_SingleConfig()
  35. endif()