summaryrefslogtreecommitdiffstats
path: root/Tests/FindRuby/Rvm/RvmOnly.cmake
blob: d47a880fe832c1d14808fe6cad67def32bb603b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
set(CMAKE_FIND_LIBRARY_PREFIXES "")
set(CMAKE_FIND_LIBRARY_SUFFIXES "")

set(Ruby_FIND_VIRTUALENV ONLY)
set(Ruby_RBENV_EXECUTABLE "") # Suppress rbenv code path for this test.

# Test: FindRuby.RvmOnly
if (RUBY_HOME)
  # => Trying to find exactly system ruby using ONLY virtual environment should fail
  find_package (Ruby ${SYSTEM_RUBY_VERSION} EXACT QUIET)
  if(Ruby_FOUND)
    message (FATAL_ERROR "Ruby unexpectedly found.")
  endif()
  # And should work to find the rvm version
  find_package (Ruby ${RVM_RUBY_VERSION} EXACT QUIET)
  if(Ruby_FOUND)
    message (FATAL_ERROR "Ruby unexpectedly found.")
  endif()
endif()


# Test: FindRuby.UnsetRvmOnly
if (NOT RUBY_HOME)

  # If ENV{MY_RUBY_HOME} isn't defined and Ruby_FIND_VIRTUALENV is set to ONLY
  # then Ruby should not be found

  find_package (Ruby ${RVM_RUBY_VERSION} EXACT QUIET)
  if(Ruby_FOUND)
    message (FATAL_ERROR "RVM Ruby unexpectedly found.")
  endif()

  # it should *not* find the system ruby
  find_package (Ruby ${SYSTEM_RUBY_VERSION} EXACT QUIET)
  if(Ruby_FOUND)
    message (FATAL_ERROR "Ruby unexpectedly found.")
  endif()
endif()