diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake index 6e0cf28d1f..857261aca8 100644 --- a/Modules/FindPython/Support.cmake +++ b/Modules/FindPython/Support.cmake @@ -1653,18 +1653,15 @@ if (CMAKE_CROSSCOMPILING) cmake_policy (GET CMP0190 _${_PYTHON_PREFIX}_CROSSCOMPILING_POLICY) if (_${_PYTHON_PREFIX}_CROSSCOMPILING_POLICY STREQUAL "NEW") if (DEFINED ${_PYTHON_PREFIX}_CROSSCOMPILING_EMULATOR OR CMAKE_CROSSCOMPILING_EMULATOR) - set (_${_PYTHON_PREFIX}_CROSSCOMPILING TRUE) + set (_${_PYTHON_PREFIX}_CROSSCOMPILING TRUE) if (DEFINED ${_PYTHON_PREFIX}_CROSSCOMPILING_EMULATOR) set (_${_PYTHON_PREFIX}_CROSSCOMPILING_EMULATOR "${${_PYTHON_PREFIX}_CROSSCOMPILING_EMULATOR}") - else() + else() set (_${_PYTHON_PREFIX}_CROSSCOMPILING_EMULATOR "${CMAKE_CROSSCOMPILING_EMULATOR}") endif() else() _python_display_failure ("${_PYTHON_PREFIX}: When cross-compiling, Interpreter and/or Compiler components cannot be searched when ${_PYTHON_PREFIX}_CROSSCOMPILING_EMULATOR or 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() endif() @@ -1731,6 +1728,11 @@ if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR VERSION_LESS "3") # ABI not supported unset (_${_PYTHON_PREFIX}_FIND_ABI) set (_${_PYTHON_PREFIX}_ABIFLAGS "") +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 "") else() unset (_${_PYTHON_PREFIX}_FIND_ABI) if (DEFINED ${_PYTHON_PREFIX}_FIND_ABI)