diff options
author | Renato Filho <renato.filho@openbossa.org> | 2010-07-19 14:22:51 -0300 |
---|---|---|
committer | Renato Filho <renato.filho@openbossa.org> | 2010-07-19 15:14:22 -0300 |
commit | 794d2608f15155ceba9b6a201fccffbc40d68d45 (patch) | |
tree | 15fc2c2a6c01c3a17cf1130e1b07c1ce2dc7a306 | |
parent | cd479852ad2c9d0f5cdfbba9f91952a8cd3b8688 (diff) |
Use correct python library in debug mode.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
-rw-r--r-- | CMakeLists.txt | 20 | ||||
-rw-r--r-- | libshiboken/CMakeLists.txt | 13 | ||||
-rw-r--r-- | tests/otherbinding/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/samplebinding/CMakeLists.txt | 2 |
4 files changed, 23 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 97d010af8..8a58de664 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,6 +74,26 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake" add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") +# Detect if the python libs were compiled in debug mode +execute_process( + COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; \\ + print sysconfig.get_config_var('Py_DEBUG')" + OUTPUT_VARIABLE PY_DEBUG + OUTPUT_STRIP_TRAILING_WHITESPACE) + +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + if(NOT PYTHON_DEBUG_LIBRARIES) + message(FATAL_ERROR "Python debug library not found. Try compile shiboken with -DCMAKE_BUILD_TYPE=Release") + endif() + if(NOT PY_DEBUG) + message(WARNING "Compiling shiboken with debug enabled, but the python executable was not compiled with debug support.") + endif() + add_definitions("-DPy_DEBUG") + set(SBK_PYTHON_LIBRARIES ${PYTHON_DEBUG_LIBRARIES}) +else() + set(SBK_PYTHON_LIBRARIES ${PYTHON_LIBRARIES}) +endif() + if (BUILD_TESTS) enable_testing() endif() diff --git a/libshiboken/CMakeLists.txt b/libshiboken/CMakeLists.txt index 4571a4cf7..d39afc0f7 100644 --- a/libshiboken/CMakeLists.txt +++ b/libshiboken/CMakeLists.txt @@ -24,16 +24,6 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ShibokenConfigVersion.cmake.in" configure_file("${CMAKE_CURRENT_SOURCE_DIR}/shiboken.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/shiboken.pc" @ONLY) -# Detect if the python libs were compiled in debug mode -execute_process( - COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; \\ - print sysconfig.get_config_var('Py_DEBUG')" - OUTPUT_VARIABLE PY_DEBUG - OUTPUT_STRIP_TRAILING_WHITESPACE) -if (PY_DEBUG) - add_definitions("-DPy_DEBUG") -endif() - set(libshiboken_SRC basewrapper.cpp helper.cpp @@ -47,8 +37,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${SPARSEHASH_INCLUDE_PATH}) add_library(libshiboken SHARED ${libshiboken_SRC}) set_property(TARGET libshiboken PROPERTY PREFIX "") -target_link_libraries(libshiboken - ${PYTHON_LIBRARIES}) +target_link_libraries(libshiboken ${SBK_PYTHON_LIBRARIES}) set_target_properties(libshiboken PROPERTIES VERSION ${libshiboken_VERSION} SOVERSION ${libshiboken_SOVERSION}) install(FILES diff --git a/tests/otherbinding/CMakeLists.txt b/tests/otherbinding/CMakeLists.txt index d9b97147e..9a67d41e4 100644 --- a/tests/otherbinding/CMakeLists.txt +++ b/tests/otherbinding/CMakeLists.txt @@ -40,7 +40,7 @@ set_property(TARGET other PROPERTY PREFIX "") target_link_libraries(other libother libsample - ${PYTHON_LIBRARIES} + ${SBK_PYTHON_LIBRARIES} libshiboken) add_dependencies(other sample shiboken_generator) diff --git a/tests/samplebinding/CMakeLists.txt b/tests/samplebinding/CMakeLists.txt index a41ad727c..a9dea7cf6 100644 --- a/tests/samplebinding/CMakeLists.txt +++ b/tests/samplebinding/CMakeLists.txt @@ -95,7 +95,7 @@ add_library(sample MODULE ${sample_SRC}) set_property(TARGET sample PROPERTY PREFIX "") target_link_libraries(sample libsample - ${PYTHON_LIBRARIES} + ${SBK_PYTHON_LIBRARIES} libshiboken) add_dependencies(sample shiboken_generator) |