mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
@@ -312,18 +312,36 @@ function (_PYTHON_GET_ABIFLAGS _PGA_FIND_ABI _PGABIFLAGS)
|
||||
endif()
|
||||
|
||||
if (pydebug STREQUAL "ON")
|
||||
if (abiflags)
|
||||
list (TRANSFORM abiflags PREPEND "d")
|
||||
if (WIN32)
|
||||
if (NOT abiflags STREQUAL "<none>")
|
||||
list (TRANSFORM abiflags APPEND "_d")
|
||||
else()
|
||||
set (abiflags "_d")
|
||||
endif()
|
||||
else()
|
||||
set (abiflags "d")
|
||||
if (NOT abiflags STREQUAL "<none>")
|
||||
list (TRANSFORM abiflags PREPEND "d")
|
||||
else()
|
||||
set (abiflags "d")
|
||||
endif()
|
||||
endif()
|
||||
elseif (pydebug STREQUAL "ANY")
|
||||
if (abiflags)
|
||||
set (flags "${abiflags}")
|
||||
list (TRANSFORM flags PREPEND "d")
|
||||
list (APPEND abiflags "${flags}")
|
||||
if (WIN32)
|
||||
if (NOT abiflags STREQUAL "<none>")
|
||||
set (flags "${abiflags}")
|
||||
list (TRANSFORM flags APPEND "_d")
|
||||
list (APPEND abiflags "${flags}")
|
||||
else()
|
||||
set (abiflags "<none>" "_d")
|
||||
endif()
|
||||
else()
|
||||
set (abiflags "<none>" "d")
|
||||
if (NOT abiflags STREQUAL "<none>")
|
||||
set (flags "${abiflags}")
|
||||
list (TRANSFORM flags PREPEND "d")
|
||||
list (APPEND abiflags "${flags}")
|
||||
else()
|
||||
set (abiflags "<none>" "d")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -434,12 +452,26 @@ function (_PYTHON_GET_NAMES _PYTHON_PGN_NAMES)
|
||||
|
||||
foreach (implementation IN LISTS _PGN_IMPLEMENTATIONS)
|
||||
if (implementation STREQUAL "CPython")
|
||||
set (abi "${_${_PYTHON_PREFIX}_ABIFLAGS}")
|
||||
list (TRANSFORM abi REPLACE "^<none>$" "")
|
||||
|
||||
set (unversionednames python${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR} python)
|
||||
|
||||
if (_PGN_INTERPRETER AND _${_PYTHON_PREFIX}_FIND_UNVERSIONED_NAMES STREQUAL "FIRST")
|
||||
if (_PGN_DEBUG)
|
||||
list (APPEND names python${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR}_d python_d)
|
||||
if (abi)
|
||||
unset (fullnames)
|
||||
foreach (name IN LISTS unversionednames)
|
||||
set (abinames "${abi}")
|
||||
list (TRANSFORM abinames PREPEND "${name}")
|
||||
list(APPEND fullnames "${abinames}")
|
||||
endforeach()
|
||||
else()
|
||||
list (APPEND names python${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR} python)
|
||||
set (fullnames ${unversionednames})
|
||||
endif()
|
||||
if (_PGN_DEBUG AND NOT abi MATCHES "_d")
|
||||
list (TRANSFORM fullnames APPEND "_d")
|
||||
endif()
|
||||
list (APPEND names ${fullnames})
|
||||
endif()
|
||||
foreach (version IN LISTS _PGN_VERSION)
|
||||
if (_PGN_WIN32)
|
||||
@@ -448,24 +480,19 @@ function (_PYTHON_GET_NAMES _PYTHON_PGN_NAMES)
|
||||
else()
|
||||
string (REPLACE "." "" name_version ${version})
|
||||
endif()
|
||||
set (abi "${_${_PYTHON_PREFIX}_ABIFLAGS}")
|
||||
list (TRANSFORM abi REPLACE "^<none>$" "")
|
||||
if (abi)
|
||||
set (abinames "${abi}")
|
||||
list (TRANSFORM abinames PREPEND "python${name_version}")
|
||||
else()
|
||||
set (abinames "python${name_version}")
|
||||
endif()
|
||||
if (_PGN_DEBUG)
|
||||
if (_PGN_DEBUG AND NOT abi MATCHES "_d")
|
||||
list (TRANSFORM abinames APPEND "_d")
|
||||
endif()
|
||||
list (APPEND names ${abinames})
|
||||
endif()
|
||||
|
||||
if (_PGN_POSIX)
|
||||
set (abi "${_${_PYTHON_PREFIX}_ABIFLAGS}")
|
||||
list (TRANSFORM abi REPLACE "^<none>$" "")
|
||||
|
||||
if (abi)
|
||||
if (_PGN_CONFIG AND DEFINED CMAKE_LIBRARY_ARCHITECTURE)
|
||||
set (abinames "${abi}")
|
||||
@@ -493,11 +520,20 @@ function (_PYTHON_GET_NAMES _PYTHON_PGN_NAMES)
|
||||
endif()
|
||||
endforeach()
|
||||
if (_PGN_INTERPRETER AND _${_PYTHON_PREFIX}_FIND_UNVERSIONED_NAMES STREQUAL "LAST")
|
||||
if (_PGN_DEBUG)
|
||||
list (APPEND names python${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR}_d python_d)
|
||||
if (abi)
|
||||
unset (fullnames)
|
||||
foreach (name IN LISTS unversionednames)
|
||||
set (abinames "${abi}")
|
||||
list (TRANSFORM abinames PREPEND "${name}")
|
||||
list(APPEND fullnames "${abinames}")
|
||||
endforeach()
|
||||
else()
|
||||
list (APPEND names python${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR} python)
|
||||
set (fullnames ${unversionednames})
|
||||
endif()
|
||||
if (_PGN_DEBUG AND NOT abi MATCHES "_d")
|
||||
list (TRANSFORM fullnames APPEND "_d")
|
||||
endif()
|
||||
list(APPEND names ${fullnames})
|
||||
endif()
|
||||
elseif (implementation STREQUAL "IronPython")
|
||||
if (_PGN_INTERPRETER)
|
||||
@@ -831,7 +867,7 @@ function (_PYTHON_GET_VERSION)
|
||||
if (_${_PYTHON_PREFIX}_LIBRARY_RELEASE)
|
||||
get_filename_component (library_name "${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}" NAME)
|
||||
# extract version from library name
|
||||
if (library_name MATCHES "python([23])([0-9]+)([tdmu]*)")
|
||||
if (library_name MATCHES "python([23])([0-9]+)([tdmu_]*)")
|
||||
set (${_PGV_PREFIX}VERSION_MAJOR "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
||||
set (${_PGV_PREFIX}VERSION_MINOR "${CMAKE_MATCH_2}" PARENT_SCOPE)
|
||||
set (${_PGV_PREFIX}VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}" PARENT_SCOPE)
|
||||
@@ -867,7 +903,7 @@ function (_PYTHON_GET_VERSION)
|
||||
if (_${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE)
|
||||
get_filename_component (library_name "${_${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE}" NAME)
|
||||
# extract version from library name
|
||||
if (library_name MATCHES "python([23])([tdmu]*)")
|
||||
if (library_name MATCHES "python([23])([tdmu_]*)")
|
||||
set (${_PGV_PREFIX}VERSION_MAJOR "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
||||
set (${_PGV_PREFIX}VERSION "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
||||
set (abi "${CMAKE_MATCH_2}")
|
||||
|
||||
Reference in New Issue
Block a user