RunCMakeTest.cmake 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. include(RunCTest)
  2. set(CASE_CTEST_BUILD_ARGS "")
  3. function(run_ctest_build CASE_NAME)
  4. set(CASE_CTEST_BUILD_ARGS "${ARGN}")
  5. run_ctest(${CASE_NAME})
  6. endfunction()
  7. run_ctest_build(BuildQuiet QUIET)
  8. function(run_BuildFailure)
  9. set(CASE_CMAKELISTS_SUFFIX_CODE [[
  10. add_custom_target(BuildFailure ALL COMMAND command-does-not-exist)
  11. ]])
  12. set(CASE_CMAKELISTS_PREFIX_CODE [[
  13. if(NOT CTEST_USE_LAUNCHERS)
  14. message(FATAL_ERROR "CTEST_USE_LAUNCHERS not set")
  15. endif()
  16. ]])
  17. set(CASE_TEST_PREFIX_CODE [[
  18. cmake_policy(SET CMP0061 NEW)
  19. ]])
  20. set(CASE_TEST_SUFFIX_CODE [[
  21. if (ctest_build_return_value)
  22. message("ctest_build returned non-zero")
  23. else()
  24. message("ctest_build returned zero")
  25. endif()
  26. ]])
  27. run_ctest(BuildFailure)
  28. if (RunCMake_GENERATOR MATCHES "Makefiles")
  29. set(CASE_TEST_PREFIX_CODE "")
  30. run_ctest(BuildFailure-CMP0061-OLD)
  31. endif()
  32. endfunction()
  33. run_BuildFailure()
  34. function(run_BuildChangeId)
  35. set(CASE_TEST_PREFIX_CODE [[
  36. set(CTEST_CHANGE_ID "<>1")
  37. ]])
  38. run_ctest(BuildChangeId)
  39. endfunction()
  40. run_BuildChangeId()