FindPython: Support getting DEBUG_POSTFIX without requiring Interpreter

This commit is contained in:
Andrej730
2025-10-23 21:55:58 +05:00
committed by Brad King
parent 43fec72adb
commit 6a35c277d0
2 changed files with 10 additions and 5 deletions

View File

@@ -537,6 +537,13 @@ function (_PYTHON_GET_CONFIG_VAR _PYTHON_PGCV_VALUE NAME)
return()
endif()
if (NAME STREQUAL "POSTFIX")
if (WIN32 AND _${_PYTHON_PREFIX}_LIBRARY_DEBUG MATCHES "_d${CMAKE_IMPORT_LIBRARY_SUFFIX}$")
set (${_PYTHON_PGCV_VALUE} "_d" PARENT_SCOPE)
endif()
return()
endif()
if (NAME STREQUAL "SOSABI")
# assume some default
if (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME MATCHES "MSYS|CYGWIN")
@@ -667,10 +674,6 @@ function (_PYTHON_GET_CONFIG_VAR _PYTHON_PGCV_VALUE NAME)
else()
string (REGEX REPLACE "^\\.(.+)\\.[^.]+$" "\\1" _values "${_values}")
endif()
elseif (NAME STREQUAL "POSTFIX")
if (WIN32 AND _${_PYTHON_PREFIX}_LIBRARY_DEBUG MATCHES "_d${CMAKE_IMPORT_LIBRARY_SUFFIX}$")
set (_values "_d")
endif()
elseif (NAME STREQUAL "ABIFLAGS" AND WIN32)
# 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

View File

@@ -6,7 +6,8 @@ include(CTest)
cmake_policy(SET CMP0078 NEW)
cmake_policy(SET CMP0086 NEW)
find_package(Python REQUIRED COMPONENTS Interpreter Development)
# Development.Module should be enough to get DEBUG_POSTFIX.
find_package(Python REQUIRED COMPONENTS Development.Module)
find_package(SWIG)
include(UseSWIG)
@@ -23,6 +24,7 @@ else()
set (PS ":")
endif()
find_package(Python REQUIRED COMPONENTS Interpreter)
add_test (NAME SetPOSTFIX
COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}${PS}$<TARGET_FILE_DIR:example>"
"${Python_INTERPRETER}" "${CMAKE_CURRENT_SOURCE_DIR}/runme.py")