@@ -30,7 +30,7 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
3030 message (FATAL_ERROR "FindPython: INTERNAL ERROR" )
3131endif ()
3232if (_${_PYTHON_PREFIX} _REQUIRED_VERSION_MAJOR EQUAL "3" )
33- set (_${_PYTHON_PREFIX} _VERSIONS 3.14 3.13 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
33+ set (_${_PYTHON_PREFIX} _VERSIONS 3.15 3. 14 3.13 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
3434elseif (_${_PYTHON_PREFIX} _REQUIRED_VERSION_MAJOR EQUAL "2" )
3535 set (_${_PYTHON_PREFIX} _VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
3636else ()
@@ -625,18 +625,16 @@ function (_PYTHON_GET_CONFIG_VAR _PYTHON_PGCV_VALUE NAME)
625625 set (_values "_d" )
626626 endif ()
627627 elseif (NAME STREQUAL "ABIFLAGS" AND WIN32 )
628- # config var ABIFLAGS does not exist, check GIL specific variable
628+ # config var ABIFLAGS does not exist for version < 3.14 , check GIL specific variable
629629 execute_process (COMMAND ${_${_PYTHON_PREFIX} _INTERPRETER_LAUNCHER} "${_${_PYTHON_PREFIX} _EXECUTABLE}" -c
630- "import sys; import sysconfig; sys.stdout.write(str( sysconfig.get_config_var('Py_GIL_DISABLED')) )"
630+ "import sys\n import sysconfig\n try: \n sys.stdout.write(sysconfig.get_config_var('ABIFLAGS')) \n except Exception: \n sys.stdout.write('t' if sysconfig.get_config_var('Py_GIL_DISABLED') == 1 else '<none>' )"
631631 RESULT_VARIABLE _result
632632 OUTPUT_VARIABLE _values
633633 ERROR_QUIET
634634 OUTPUT_STRIP_TRAILING_WHITESPACE)
635- if (result OR NOT _values EQUAL "1" )
635+ if (_result OR NOT _values)
636636 # assume ABI is not supported or GIL is set
637637 set (_values "<none>" )
638- else ()
639- set (_values "t" )
640638 endif ()
641639 else ()
642640 set (config_flag "${NAME} " )
@@ -4071,7 +4069,11 @@ if(_${_PYTHON_PREFIX}_CMAKE_ROLE STREQUAL "PROJECT")
40714069 set_property (TARGET ${__name}
40724070 PROPERTY INTERFACE_COMPILE_DEFINITIONS "${${_PYTHON_PREFIX} _DEFINITIONS}" )
40734071 endif ()
4074-
4072+ if (WIN32 )
4073+ # avoid implicit library link (recognized by version 3.14 and upper)
4074+ set_property (TARGET ${__name}
4075+ APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS "Py_NO_LINK_LIB" )
4076+ endif ()
40754077
40764078 if (${_PYTHON_PREFIX} _${_PREFIX} LIBRARY_RELEASE AND ${_PYTHON_PREFIX} _RUNTIME_${_PREFIX} LIBRARY_RELEASE)
40774079 # System manage shared libraries in two parts: import and runtime
@@ -4133,6 +4135,11 @@ if(_${_PYTHON_PREFIX}_CMAKE_ROLE STREQUAL "PROJECT")
41334135 set_property (TARGET ${__name}
41344136 PROPERTY INTERFACE_COMPILE_DEFINITIONS "${${_PYTHON_PREFIX} _DEFINITIONS}" )
41354137 endif ()
4138+ if (WIN32 )
4139+ # avoid implicit library link (recognized by version 3.14 and upper)
4140+ set_property (TARGET ${__name}
4141+ APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS "Py_NO_LINK_LIB" )
4142+ endif ()
41364143
41374144 # When available, enforce shared library generation with undefined symbols
41384145 if (APPLE )
0 commit comments