CMakeLists.txt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. if(CMake_TEST_FindRuby)
  2. # Looks for ruby >=1.9.9, which is true on any Ubuntu (that installs it) or macOS (> 10.9)
  3. add_test(NAME FindRuby.Test COMMAND
  4. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  5. --build-and-test
  6. "${CMake_SOURCE_DIR}/Tests/FindRuby/Test"
  7. "${CMake_BINARY_DIR}/Tests/FindRuby/Test"
  8. ${build_generator_args}
  9. --build-project TestRuby
  10. --build-options ${build_options}
  11. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  12. )
  13. # Looks for ruby >= 50.1.0, which should logically fail
  14. add_test(NAME FindRuby.Fail COMMAND
  15. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  16. --build-and-test
  17. "${CMake_SOURCE_DIR}/Tests/FindRuby/Fail"
  18. "${CMake_BINARY_DIR}/Tests/FindRuby/Fail"
  19. ${build_generator_args}
  20. --build-project TestRubyFail
  21. --build-options ${build_options}
  22. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  23. )
  24. set_tests_properties(FindRuby.Fail PROPERTIES
  25. PASS_REGULAR_EXPRESSION "Could NOT find Ruby.*(Required is at least version \"[0-9]+\\.[0-9]+\\.[0-9]+\")")
  26. # Looks for 1.9.9 EXACTLY, which unlike the "FindRuby" test above will fail on every machine
  27. # since this version doesn't exist (ruby goes from 1.9.3 to 2.0.0)
  28. add_test(NAME FindRuby.FailExact COMMAND
  29. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  30. --build-and-test
  31. "${CMake_SOURCE_DIR}/Tests/FindRuby/FailExact"
  32. "${CMake_BINARY_DIR}/Tests/FindRuby/FailExact"
  33. ${build_generator_args}
  34. --build-project TestRubyFailExact
  35. --build-options ${build_options}
  36. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  37. )
  38. set_tests_properties(FindRuby.FailExact PROPERTIES
  39. PASS_REGULAR_EXPRESSION "Could NOT find Ruby: Found unsuitable version \".*\", but required is.*exact version \"[0-9]+\\.[0-9]+\\.[0-9]+\" \\(found .*\\)")
  40. # RVM specific test
  41. if(CMake_TEST_FindRuby_RVM)
  42. add_test(NAME FindRuby.Rvm COMMAND
  43. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  44. --build-and-test
  45. "${CMake_SOURCE_DIR}/Tests/FindRuby/Rvm"
  46. "${CMake_BINARY_DIR}/Tests/FindRuby/Rvm"
  47. ${build_generator_args}
  48. --build-project TestRVM
  49. --build-options ${build_options}
  50. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  51. )
  52. endif()
  53. endif()