1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-17 15:32:10 +08:00

FindPython: rely on ABIFLAGS on Windows for ABI profile

Starting with Python 3.14, the config_var ABIFLAGS is now also available
on Windows.
This commit is contained in:
Marc Chevrier
2025-05-16 17:39:19 +02:00
committed by Brad King
parent dadc015020
commit 811f00f9ad

View File

@@ -625,18 +625,16 @@ function (_PYTHON_GET_CONFIG_VAR _PYTHON_PGCV_VALUE NAME)
set (_values "_d")
endif()
elseif (NAME STREQUAL "ABIFLAGS" AND WIN32)
# config var ABIFLAGS does not exist, check GIL specific variable
# config var ABIFLAGS does not exist for version < 3.14, check GIL specific variable
execute_process (COMMAND ${_${_PYTHON_PREFIX}_INTERPRETER_LAUNCHER} "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c
"import sys; import sysconfig; sys.stdout.write(str(sysconfig.get_config_var('Py_GIL_DISABLED')))"
"import sys\nimport sysconfig\ntry:\n sys.stdout.write(sysconfig.get_config_var('ABIFLAGS'))\nexcept Exception:\n sys.stdout.write('t' if sysconfig.get_config_var('Py_GIL_DISABLED') == 1 else '<none>')"
RESULT_VARIABLE _result
OUTPUT_VARIABLE _values
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
if (result OR NOT _values EQUAL "1")
if (_result OR NOT _values)
# assume ABI is not supported or GIL is set
set (_values "<none>")
else()
set (_values "t")
endif()
else()
set (config_flag "${NAME}")