mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-18 00:02:21 +08:00
@@ -3138,7 +3138,7 @@ if (("Development.Module" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS
|
|||||||
if (_${_PYTHON_PREFIX}_FIND_STRATEGY STREQUAL "LOCATION")
|
if (_${_PYTHON_PREFIX}_FIND_STRATEGY STREQUAL "LOCATION")
|
||||||
# library names
|
# library names
|
||||||
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES VERSION ${_${_PYTHON_PREFIX}_FIND_VERSIONS} WIN32 POSIX LIBRARY)
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES VERSION ${_${_PYTHON_PREFIX}_FIND_VERSIONS} WIN32 POSIX LIBRARY)
|
||||||
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_FIND_VERSIONS} WIN32 DEBUG)
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_FIND_VERSIONS} WIN32 DEBUG LIBRARY)
|
||||||
# Paths suffixes
|
# Paths suffixes
|
||||||
_python_get_path_suffixes (_${_PYTHON_PREFIX}_PATH_SUFFIXES VERSION ${_${_PYTHON_PREFIX}_FIND_VERSIONS} LIBRARY)
|
_python_get_path_suffixes (_${_PYTHON_PREFIX}_PATH_SUFFIXES VERSION ${_${_PYTHON_PREFIX}_FIND_VERSIONS} LIBRARY)
|
||||||
|
|
||||||
@@ -3205,7 +3205,7 @@ if (("Development.Module" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS
|
|||||||
else()
|
else()
|
||||||
foreach (_${_PYTHON_PREFIX}_LIB_VERSION IN LISTS _${_PYTHON_PREFIX}_FIND_VERSIONS)
|
foreach (_${_PYTHON_PREFIX}_LIB_VERSION IN LISTS _${_PYTHON_PREFIX}_FIND_VERSIONS)
|
||||||
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES VERSION ${_${_PYTHON_PREFIX}_LIB_VERSION} WIN32 POSIX LIBRARY)
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES VERSION ${_${_PYTHON_PREFIX}_LIB_VERSION} WIN32 POSIX LIBRARY)
|
||||||
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_LIB_VERSION} WIN32 DEBUG)
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_LIB_VERSION} WIN32 DEBUG LIBRARY)
|
||||||
|
|
||||||
_python_get_frameworks (_${_PYTHON_PREFIX}_FRAMEWORK_PATHS VERSION ${_${_PYTHON_PREFIX}_LIB_VERSION})
|
_python_get_frameworks (_${_PYTHON_PREFIX}_FRAMEWORK_PATHS VERSION ${_${_PYTHON_PREFIX}_LIB_VERSION})
|
||||||
_python_get_registries (_${_PYTHON_PREFIX}_REGISTRY_PATHS VERSION ${_${_PYTHON_PREFIX}_LIB_VERSION})
|
_python_get_registries (_${_PYTHON_PREFIX}_REGISTRY_PATHS VERSION ${_${_PYTHON_PREFIX}_LIB_VERSION})
|
||||||
@@ -3303,7 +3303,7 @@ if (("Development.Module" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS
|
|||||||
if (WIN32 AND _${_PYTHON_PREFIX}_LIBRARY_RELEASE)
|
if (WIN32 AND _${_PYTHON_PREFIX}_LIBRARY_RELEASE)
|
||||||
# search for debug library
|
# search for debug library
|
||||||
# use release library location as a hint
|
# use release library location as a hint
|
||||||
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_VERSION} WIN32 DEBUG)
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_VERSION} WIN32 DEBUG LIBRARY)
|
||||||
get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}" DIRECTORY)
|
get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}" DIRECTORY)
|
||||||
find_library (_${_PYTHON_PREFIX}_LIBRARY_DEBUG
|
find_library (_${_PYTHON_PREFIX}_LIBRARY_DEBUG
|
||||||
NAMES ${_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG}
|
NAMES ${_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG}
|
||||||
@@ -3331,7 +3331,7 @@ if (("Development.Module" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS
|
|||||||
PATH_SUFFIXES bin)
|
PATH_SUFFIXES bin)
|
||||||
endif()
|
endif()
|
||||||
if (_${_PYTHON_PREFIX}_LIBRARY_DEBUG)
|
if (_${_PYTHON_PREFIX}_LIBRARY_DEBUG)
|
||||||
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_VERSION} WIN32 DEBUG)
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_VERSION} WIN32 DEBUG LIBRARY)
|
||||||
get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_LIBRARY_DEBUG}" DIRECTORY)
|
get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_LIBRARY_DEBUG}" DIRECTORY)
|
||||||
get_filename_component (_${_PYTHON_PREFIX}_PATH2 "${_${_PYTHON_PREFIX}_PATH}" DIRECTORY)
|
get_filename_component (_${_PYTHON_PREFIX}_PATH2 "${_${_PYTHON_PREFIX}_PATH}" DIRECTORY)
|
||||||
_python_find_runtime_library (_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG
|
_python_find_runtime_library (_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG
|
||||||
@@ -3347,7 +3347,7 @@ if (("Development.Module" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS
|
|||||||
if (NOT _${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE)
|
if (NOT _${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE)
|
||||||
## compute artifact names
|
## compute artifact names
|
||||||
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES VERSION ${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR} WIN32 POSIX LIBRARY)
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES VERSION ${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR} WIN32 POSIX LIBRARY)
|
||||||
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR} WIN32 DEBUG)
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR} WIN32 DEBUG LIBRARY)
|
||||||
|
|
||||||
if ("LIBRARY" IN_LIST _${_PYTHON_PREFIX}_FIND_DEVELOPMENT_ARTIFACTS
|
if ("LIBRARY" IN_LIST _${_PYTHON_PREFIX}_FIND_DEVELOPMENT_ARTIFACTS
|
||||||
AND _${_PYTHON_PREFIX}_LIBRARY_RELEASE)
|
AND _${_PYTHON_PREFIX}_LIBRARY_RELEASE)
|
||||||
@@ -3561,6 +3561,8 @@ if (("Development.Module" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS
|
|||||||
|
|
||||||
if (WIN32 AND _${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE)
|
if (WIN32 AND _${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE)
|
||||||
# search for debug library
|
# search for debug library
|
||||||
|
# use release library location as a hint
|
||||||
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR} WIN32 DEBUG LIBRARY)
|
||||||
get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE}" DIRECTORY)
|
get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE}" DIRECTORY)
|
||||||
find_library (_${_PYTHON_PREFIX}_SABI_LIBRARY_DEBUG
|
find_library (_${_PYTHON_PREFIX}_SABI_LIBRARY_DEBUG
|
||||||
NAMES ${_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG}
|
NAMES ${_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG}
|
||||||
@@ -3577,6 +3579,7 @@ if (("Development.Module" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS
|
|||||||
|
|
||||||
# retrieve runtime libraries
|
# retrieve runtime libraries
|
||||||
if (_${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE)
|
if (_${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE)
|
||||||
|
_python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES VERSION ${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR} WIN32 POSIX LIBRARY)
|
||||||
get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE}" DIRECTORY)
|
get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE}" DIRECTORY)
|
||||||
get_filename_component (_${_PYTHON_PREFIX}_PATH2 "${_${_PYTHON_PREFIX}_PATH}" DIRECTORY)
|
get_filename_component (_${_PYTHON_PREFIX}_PATH2 "${_${_PYTHON_PREFIX}_PATH}" DIRECTORY)
|
||||||
_python_find_runtime_library (_${_PYTHON_PREFIX}_RUNTIME_SABI_LIBRARY_RELEASE
|
_python_find_runtime_library (_${_PYTHON_PREFIX}_RUNTIME_SABI_LIBRARY_RELEASE
|
||||||
|
@@ -107,6 +107,10 @@ add_test(NAME FindPython.RequiredArtifacts.Library.VALID COMMAND
|
|||||||
--build-project TestRequiredArtifacts.Check
|
--build-project TestRequiredArtifacts.Check
|
||||||
--build-options -DPYTHON_IS_FOUND=TRUE -DCHECK_LIBRARY=ON
|
--build-options -DPYTHON_IS_FOUND=TRUE -DCHECK_LIBRARY=ON
|
||||||
"-DPython3_LIBRARY=${Python3_LIBRARY_RELEASE}"
|
"-DPython3_LIBRARY=${Python3_LIBRARY_RELEASE}"
|
||||||
|
"-DPYTHON_LIBRARY_RELEASE=${Python3_LIBRARY_RELEASE}"
|
||||||
|
"-DPYTHON_RUNTIME_LIBRARY_RELEASE=${Python3_RUNTIME_LIBRARY_RELEASE}"
|
||||||
|
"-DPYTHON_LIBRARY_DEBUG=${Python3_LIBRARY_DEBUG}"
|
||||||
|
"-DPYTHON_RUNTIME_LIBRARY_DEBUG=${Python3_RUNTIME_LIBRARY_DEBUG}"
|
||||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||||
)
|
)
|
||||||
add_test(NAME FindPython.RequiredArtifacts.Library.INVALID COMMAND
|
add_test(NAME FindPython.RequiredArtifacts.Library.INVALID COMMAND
|
||||||
@@ -179,7 +183,11 @@ if (CMake_TEST_FindPython3_SABIModule AND WIN32)
|
|||||||
${build_generator_args}
|
${build_generator_args}
|
||||||
--build-project TestRequiredArtifacts.Check
|
--build-project TestRequiredArtifacts.Check
|
||||||
--build-options -DPYTHON_IS_FOUND=TRUE -DCHECK_SABI_LIBRARY=ON
|
--build-options -DPYTHON_IS_FOUND=TRUE -DCHECK_SABI_LIBRARY=ON
|
||||||
"-DPython3_SABI_LIBRARY=${Python3_SABI_LIBRARY_RELEASE}"
|
"-DPython3_SABI_LIBRARY=${Python3_SABI_LIBRARY_RELEASE}"
|
||||||
|
"-DPYTHON_SABI_LIBRARY_RELEASE=${Python3_SABI_LIBRARY_RELEASE}"
|
||||||
|
"-DPYTHON_RUNTIME_SABI_LIBRARY_RELEASE=${Python3_RUNTIME_SABI_LIBRARY_RELEASE}"
|
||||||
|
"-DPYTHON_SABI_LIBRARY_DEBUG=${Python3_SABI_LIBRARY_DEBUG}"
|
||||||
|
"-DPYTHON_RUNTIME_SABI_LIBRARY_DEBUG=${Python3_RUNTIME_SABI_LIBRARY_DEBUG}"
|
||||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||||
)
|
)
|
||||||
add_test(NAME FindPython.RequiredArtifacts.SABILibrary.INVALID COMMAND
|
add_test(NAME FindPython.RequiredArtifacts.SABILibrary.INVALID COMMAND
|
||||||
@@ -190,7 +198,7 @@ if (CMake_TEST_FindPython3_SABIModule AND WIN32)
|
|||||||
${build_generator_args}
|
${build_generator_args}
|
||||||
--build-project TestRequiredArtifacts.Check
|
--build-project TestRequiredArtifacts.Check
|
||||||
--build-options -DPYTHON_IS_FOUND=FALSE -DCHECK_SABI_LIBRARY=ON
|
--build-options -DPYTHON_IS_FOUND=FALSE -DCHECK_SABI_LIBRARY=ON
|
||||||
"-DPython3_SABI_LIBRARY=${USER_LIBRARY}"
|
"-DPython3_SABI_LIBRARY=${USER_LIBRARY}"
|
||||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -31,12 +31,19 @@ if (NOT PYTHON_IS_FOUND AND Python3_FOUND)
|
|||||||
message (FATAL_ERROR "Python3 unexpectedly found")
|
message (FATAL_ERROR "Python3 unexpectedly found")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if (CHECK_INTERPRETER AND NOT Python3_EXECUTABLE STREQUAL required_interpreter)
|
if (CHECK_INTERPRETER AND NOT Python3_EXECUTABLE STREQUAL required_interpreter)
|
||||||
message (FATAL_ERROR "Failed to use input variable Python3_EXECUTABLE")
|
message (FATAL_ERROR "Failed to use input variable Python3_EXECUTABLE")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CHECK_LIBRARY AND NOT Python3_LIBRARY_RELEASE STREQUAL required_library)
|
if (CHECK_LIBRARY AND PYTHON_IS_FOUND AND
|
||||||
|
(NOT Python3_LIBRARY_RELEASE STREQUAL PYTHON_LIBRARY_RELEASE
|
||||||
|
OR (WIN32 AND NOT Python3_RUNTIME_LIBRARY_RELEASE STREQUAL PYTHON_RUNTIME_LIBRARY_RELEASE)
|
||||||
|
OR (PYTHON_LIBRARY_DEBUG AND NOT Python3_LIBRARY_DEBUG STREQUAL PYTHON_LIBRARY_DEBUG)
|
||||||
|
OR (WIN32 AND PYTHON_RUNTIME_LIBRARY_DEBUG AND NOT Python3_RUNTIME_LIBRARY_DEBUG STREQUAL PYTHON_RUNTIME_LIBRARY_DEBUG)))
|
||||||
|
message (FATAL_ERROR "Failed to use input variable Python3_LIBRARY")
|
||||||
|
endif()
|
||||||
|
if (CHECK_LIBRARY AND NOT PYTHON_IS_FOUND AND
|
||||||
|
NOT Python3_LIBRARY_RELEASE STREQUAL required_library)
|
||||||
message (FATAL_ERROR "Failed to use input variable Python3_LIBRARY")
|
message (FATAL_ERROR "Failed to use input variable Python3_LIBRARY")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -44,6 +51,14 @@ if (CHECK_INCLUDE AND NOT Python3_INCLUDE_DIRS STREQUAL required_include)
|
|||||||
message (FATAL_ERROR "Failed to use input variable Python3_INCLUDE_DIR")
|
message (FATAL_ERROR "Failed to use input variable Python3_INCLUDE_DIR")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CHECK_SABI_LIBRARY AND NOT Python3_SABI_LIBRARY_RELEASE STREQUAL required_sabi_library)
|
if (CHECK_SABI_LIBRARY AND PYTHON_IS_FOUND AND
|
||||||
|
(NOT Python3_SABI_LIBRARY_RELEASE STREQUAL PYTHON_SABI_LIBRARY_RELEASE
|
||||||
|
OR (WIN32 AND NOT Python3_RUNTIME_SABI_LIBRARY_RELEASE STREQUAL PYTHON_RUNTIME_SABI_LIBRARY_RELEASE)
|
||||||
|
OR (PYTHON_SABI_LIBRARY_DEBUG AND NOT Python3_SABI_LIBRARY_DEBUG STREQUAL PYTHON_SABI_LIBRARY_DEBUG)
|
||||||
|
OR (WIN32 AND PYTHON_RUNTIME_SABI_LIBRARY_DEBUG AND NOT Python3_RUNTIME_SABI_LIBRARY_DEBUG STREQUAL PYTHON_RUNTIME_SABI_LIBRARY_DEBUG)))
|
||||||
message (FATAL_ERROR "Failed to use input variable Python3_SABI_LIBRARY")
|
message (FATAL_ERROR "Failed to use input variable Python3_SABI_LIBRARY")
|
||||||
endif()
|
endif()
|
||||||
|
if (CHECK_SABI_LIBRARY AND NOT PYTHON_IS_FOUND AND
|
||||||
|
NOT Python3_SABI_LIBRARY_RELEASE STREQUAL required_sabi_library)
|
||||||
|
message (FATAL_ERROR "Failed to use input variable Python3_SABI_LIBRARY")
|
||||||
|
endif()
|
||||||
|
Reference in New Issue
Block a user