Files
CMake/Tests/FindRuby/CMakeLists.txt
2025-01-27 20:36:06 -05:00

72 lines
2.6 KiB
CMake

if(CMake_TEST_FindRuby)
# Looks for ruby >=1.9.9, which is true on any Ubuntu (that installs it) or macOS (> 10.9)
add_test(NAME FindRuby.Test COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindRuby/Test"
"${CMake_BINARY_DIR}/Tests/FindRuby/Test"
${build_generator_args}
--build-project TestRuby
--build-options ${build_options}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
# Looks for ruby >= 50.1.0, which should logically fail
add_test(NAME FindRuby.Fail COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindRuby/Fail"
"${CMake_BINARY_DIR}/Tests/FindRuby/Fail"
${build_generator_args}
--build-project TestRubyFail
--build-options ${build_options}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
set_tests_properties(FindRuby.Fail PROPERTIES
PASS_REGULAR_EXPRESSION "Could NOT find Ruby.*(Required[ \n]+is[ \n]+at[ \n]+least[ \n]+version[ \n]*\"[0-9]+\\.[0-9]+\\.[0-9]+\")")
# Looks for 1.9.9 EXACTLY, which unlike the "FindRuby" test above will fail on every machine
# since this version doesn't exist (ruby goes from 1.9.3 to 2.0.0)
add_test(NAME FindRuby.FailExact COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindRuby/FailExact"
"${CMake_BINARY_DIR}/Tests/FindRuby/FailExact"
${build_generator_args}
--build-project TestRubyFailExact
--build-options ${build_options}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
set_tests_properties(FindRuby.FailExact PROPERTIES
PASS_REGULAR_EXPRESSION "Could NOT find Ruby.*Required[ \n]+is[ \n]+exact[ \n]+version[ \n]+\"1\\.9\\.9\"")
# RBENV specific test
if(CMake_TEST_FindRuby_RBENV)
add_test(NAME FindRuby.Rbenv COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindRuby/Rbenv"
"${CMake_BINARY_DIR}/Tests/FindRuby/Rbenv"
${build_generator_args}
--build-project TestRBENV
--build-options ${build_options}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endif()
# RVM specific test
if(CMake_TEST_FindRuby_RVM)
add_test(NAME FindRuby.Rvm COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindRuby/Rvm"
"${CMake_BINARY_DIR}/Tests/FindRuby/Rvm"
${build_generator_args}
--build-project TestRVM
--build-options ${build_options}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endif()
endif()