mirror of
https://github.com/Kitware/CMake.git
synced 2026-06-28 10:48:07 +00:00
FindPython: Support getting DEBUG_POSTFIX without requiring Interpreter
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user