mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-18 01:31:04 -05:00
FindRuby: Consider more VS runtime suffix combinations
These are needed to find recent Ruby versions for builds using recent VS versions. Fixes: #21066
This commit is contained in:
committed by
Brad King
parent
0d182c02f6
commit
d4a16427e2
@@ -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} )
|
||||
|
||||
Reference in New Issue
Block a user