From 811f00f9adca089323a1d4e2ddc9e9e4307e323e Mon Sep 17 00:00:00 2001 From: Marc Chevrier Date: Fri, 16 May 2025 17:39:19 +0200 Subject: FindPython: rely on ABIFLAGS on Windows for ABI profile Starting with Python 3.14, the config_var ABIFLAGS is now also available on Windows. --- Modules/FindPython/Support.cmake | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake index c741ec1..9b89307 100644 --- a/Modules/FindPython/Support.cmake +++ b/Modules/FindPython/Support.cmake @@ -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 '')" 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 "") - else() - set (_values "t") endif() else() set (config_flag "${NAME}") -- cgit v0.12