blob: 76c93fcfefd0cd768548168e2f55f8b6a81f6339 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
INCLUDE(FindPythonInterp)
INCLUDE(FindPythonLibs)
find_package(PythonInterp REQUIRED)
if(PYTHONINTERP_FOUND AND UNIX AND CMAKE_BUILD_TYPE STREQUAL "Debug")
# This is for Debian
set(PYTHON_EXECUTABLE_TMP "${PYTHON_EXECUTABLE}-dbg")
# Fall back to the standard interpreter.
if(NOT EXISTS "${PYTHON_EXECUTABLE_TMP}")
set(PYTHON_EXECUTABLE_TMP "${PYTHON_EXECUTABLE}")
endif()
set(PYTHON_EXECUTABLE "${PYTHON_EXECUTABLE_TMP}")
endif()
# Detect if the python libs were compiled in debug mode
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; \\
print bool(sysconfig.get_config_var('Py_DEBUG'))"
OUTPUT_VARIABLE PYTHON_WITH_DEBUG
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; \\
from distutils import sysconfig; \\
vr = sys.version_info; \\
suffix = '-dbg' if bool(sysconfig.get_config_var('Py_DEBUG')) else ''; \\
print 'python%d.%d%s' % (vr[0], vr[1], suffix)"
OUTPUT_VARIABLE PYTHON_BASENAME
OUTPUT_STRIP_TRAILING_WHITESPACE)
#Fix missing variable on UNIX env
if(NOT PYTHON_DEBUG_LIBRARIES AND UNIX)
string(REPLACE "-dbg" "" PYTHON_NAME ${PYTHON_BASENAME})
find_library(LIBRARY_FOUND ${PYTHON_NAME}_d)
if (LIBRARY_FOUND)
set(PYTHON_DEBUG_LIBRARIES "${LIBRARY_FOUND}")
else()
set(PYTHON_DEBUG_LIBRARIES "${PYTHON_LIBRARIES}")
endif()
endif()
|