diff options
author | Brad King <brad.king@kitware.com> | 2020-11-12 14:09:43 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-11-12 14:09:52 (GMT) |
commit | d8aaa06b54c932f5808cdf5be961258396855ac5 (patch) | |
tree | 807ca90f18f967bc262465d1023cc90e33f3e86e /Modules | |
parent | e23f9d8a023e3657f974d6d4612437ccbc98c7c7 (diff) | |
parent | d4a16427e20d6c1e19a516d265796efe68fc42c7 (diff) | |
download | CMake-d8aaa06b54c932f5808cdf5be961258396855ac5.zip CMake-d8aaa06b54c932f5808cdf5be961258396855ac5.tar.gz CMake-d8aaa06b54c932f5808cdf5be961258396855ac5.tar.bz2 |
Merge topic 'FindRuby-vs-runtimes' into release-3.19
d4a16427e2 FindRuby: Consider more VS runtime suffix combinations
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5486
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindRuby.cmake | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/Modules/FindRuby.cmake b/Modules/FindRuby.cmake index a0cdf3b..d12f825 100644 --- a/Modules/FindRuby.cmake +++ b/Modules/FindRuby.cmake @@ -401,6 +401,7 @@ if(Ruby_VERSION_MAJOR) set(_Ruby_VERSION_SHORT "${Ruby_VERSION_MAJOR}.${Ruby_VERSION_MINOR}") set(_Ruby_VERSION_SHORT_NODOT "${Ruby_VERSION_MAJOR}${Ruby_VERSION_MINOR}") set(_Ruby_NODOT_VERSION "${Ruby_VERSION_MAJOR}${Ruby_VERSION_MINOR}${Ruby_VERSION_PATCH}") + set(_Ruby_NODOT_VERSION_ZERO_PATCH "${Ruby_VERSION_MAJOR}${Ruby_VERSION_MINOR}0") endif() # FIXME: Currently we require both the interpreter and development components to be found @@ -433,22 +434,27 @@ endif() set(_Ruby_POSSIBLE_LIB_NAMES ruby ruby-static ruby${_Ruby_VERSION_SHORT} ruby${_Ruby_VERSION_SHORT_NODOT} ruby-${_Ruby_VERSION_SHORT} ruby-${Ruby_VERSION}) if(WIN32) + set(_Ruby_POSSIBLE_MSVC_RUNTIMES "msvcrt;vcruntime140;vcruntime140_1") if(MSVC_TOOLSET_VERSION) - set(_Ruby_MSVC_RUNTIME "${MSVC_TOOLSET_VERSION}") + list(APPEND _Ruby_POSSIBLE_MSVC_RUNTIMES "msvcr${MSVC_TOOLSET_VERSION}") else() - set(_Ruby_MSVC_RUNTIME "") + list(APPEND _Ruby_POSSIBLE_MSVC_RUNTIMES "msvcr") endif() + set(_Ruby_POSSIBLE_VERSION_SUFFICES "${_Ruby_NODOT_VERSION};${_Ruby_NODOT_VERSION_ZERO_PATCH}") + set(_Ruby_ARCH_PREFIX "") if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(_Ruby_ARCH_PREFIX "x64-") endif() - list(APPEND _Ruby_POSSIBLE_LIB_NAMES - "${_Ruby_ARCH_PREFIX}msvcr${_Ruby_MSVC_RUNTIME}-ruby${_Ruby_NODOT_VERSION}" - "${_Ruby_ARCH_PREFIX}msvcr${_Ruby_MSVC_RUNTIME}-ruby${_Ruby_NODOT_VERSION}-static" - "${_Ruby_ARCH_PREFIX}msvcrt-ruby${_Ruby_NODOT_VERSION}" - "${_Ruby_ARCH_PREFIX}msvcrt-ruby${_Ruby_NODOT_VERSION}-static" ) + foreach(_Ruby_MSVC_RUNTIME ${_Ruby_POSSIBLE_MSVC_RUNTIMES}) + foreach(_Ruby_VERSION_SUFFIX ${_Ruby_POSSIBLE_VERSION_SUFFICES}) + list(APPEND _Ruby_POSSIBLE_LIB_NAMES + "${_Ruby_ARCH_PREFIX}${_Ruby_MSVC_RUNTIME}-ruby${_Ruby_VERSION_SUFFIX}" + "${_Ruby_ARCH_PREFIX}${_Ruby_MSVC_RUNTIME}-ruby${_Ruby_VERSION_SUFFIX}-static") + endforeach() + endforeach() endif() find_library(Ruby_LIBRARY NAMES ${_Ruby_POSSIBLE_LIB_NAMES} HINTS ${Ruby_POSSIBLE_LIB_DIR} ) |