FindPython: fix wrong check in cross-compiling and CMP0190=OLD

Fixes: #28144
This commit is contained in:
Marc Chevrier committed 2026-10-09 16:36:55 +02:00
1 parent c599b092c7
commit 31bc69fca0
1 file changed
+5 -3
+5 -3
View File
@@ -1642,9 +1642,6 @@ if (CMAKE_CROSSCOMPILING)
else()
_python_display_failure ("${_PYTHON_PREFIX}: When cross-compiling, Interpreter and/or Compiler components cannot be searched when CMAKE_CROSSCOMPILING_EMULATOR variable is not specified (see policy CMP0190)." FATAL)
endif()
else()
# CMP0190 == OLD : no condition regarding crosscompiling environment
set (_${_PYTHON_PREFIX}_CROSSCOMPILING TRUE)
endif()
endif()
endif()
@@ -1711,6 +1708,11 @@ if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR VERSION_LESS "3")
# ABI not supported
unset (_${_PYTHON_PREFIX}_FIND_ABI)
set (_${_PYTHON_PREFIX}_ABIFLAGS "<none>")
elseif(NOT DEFINED ${_PYTHON_PREFIX}_FIND_ABI
AND CMAKE_CROSSCOMPILING AND NOT _${_PYTHON_PREFIX}_CROSSCOMPILING_POLICY STREQUAL "NEW")
# cannot manage ABI reliably
unset (_${_PYTHON_PREFIX}_FIND_ABI)
set (_${_PYTHON_PREFIX}_ABIFLAGS "<none>")
else()
unset (_${_PYTHON_PREFIX}_FIND_ABI)
if (DEFINED ${_PYTHON_PREFIX}_FIND_ABI)