RunCMakeTest.cmake 912 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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_TEST_PREFIX_CODE [[
  13. cmake_policy(SET CMP0061 NEW)
  14. ]])
  15. set(CASE_TEST_SUFFIX_CODE [[
  16. if (ctest_build_return_value)
  17. message("ctest_build returned non-zero")
  18. else()
  19. message("ctest_build returned zero")
  20. endif()
  21. ]])
  22. run_ctest(BuildFailure)
  23. if (RunCMake_GENERATOR MATCHES "Makefiles")
  24. set(CASE_TEST_PREFIX_CODE "")
  25. run_ctest(BuildFailure-CMP0061-OLD)
  26. endif()
  27. endfunction()
  28. run_BuildFailure()
  29. function(run_BuildChangeId)
  30. set(CASE_TEST_PREFIX_CODE [[
  31. set(CTEST_CHANGE_ID "<>1")
  32. ]])
  33. run_ctest(BuildChangeId)
  34. endfunction()
  35. run_BuildChangeId()