mirror of
https://github.com/boostorg/python.git
synced 2026-02-02 21:12:15 +00:00
65 lines
2.0 KiB
CMake
65 lines
2.0 KiB
CMake
if (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON)
|
|
# We have detected that there might be Python debug libraries
|
|
# available, but check for ourselves whether this is true by trying
|
|
# to compile/link a program against them.
|
|
set(CMAKE_REQUIRED_DEFINITIONS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG")
|
|
get_directory_property(CMAKE_REQUIRED_INCLUDES INCLUDE_DIRECTORIES)
|
|
set(CMAKE_REQUIRED_LIBRARIES ${PYTHON_DEBUG_LIBRARIES})
|
|
set(CHECK_PYDEBUG_SOURCE
|
|
"#include <boost/python/object.hpp>")
|
|
check_cxx_source_compiles(
|
|
"#include <boost/python/object.hpp>
|
|
void check(PyObject *obj) { Py_INCREF(obj); } int main() { }"
|
|
PYDEBUG_CAN_BUILD)
|
|
|
|
# Setup an option to enable/disable building variants with Python
|
|
# debugging. If we were able to link against the debug libraries,
|
|
# default to ON; otherwise, default to OFF.
|
|
option(BUILD_PYTHON_DEBUG
|
|
"Build an additional Boost.Python library with Python debugging enabled"
|
|
${PYDEBUG_CAN_BUILD})
|
|
endif (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON)
|
|
|
|
# Always build the non-debug variants of the boost_python library
|
|
set(BUILD_PYTHON_NODEBUG ON)
|
|
|
|
boost_add_library(boost_python
|
|
numeric.cpp
|
|
list.cpp
|
|
long.cpp
|
|
dict.cpp
|
|
tuple.cpp
|
|
str.cpp
|
|
slice.cpp
|
|
converter/from_python.cpp
|
|
converter/registry.cpp
|
|
converter/type_id.cpp
|
|
object/enum.cpp
|
|
object/class.cpp
|
|
object/function.cpp
|
|
object/inheritance.cpp
|
|
object/life_support.cpp
|
|
object/pickle_support.cpp
|
|
errors.cpp
|
|
module.cpp
|
|
converter/builtin_converters.cpp
|
|
converter/arg_to_python_base.cpp
|
|
object/iterator.cpp
|
|
object/stl_iterator.cpp
|
|
object_protocol.cpp
|
|
object_operators.cpp
|
|
wrapper.cpp
|
|
import.cpp
|
|
exec.cpp
|
|
object/function_doc_signature.cpp
|
|
|
|
STATIC_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB"
|
|
SHARED_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE"
|
|
PYTHON_NODEBUG_LINK_LIBS "${PYTHON_LIBRARIES}"
|
|
|
|
# Support for Python debugging
|
|
EXTRA_VARIANTS PYTHON_NODEBUG:PYTHON_DEBUG
|
|
PYTHON_DEBUG_COMPILE_FLAGS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG"
|
|
PYTHON_DEBUG_LINK_LIBS "${PYTHON_DEBUG_LIBRARIES}"
|
|
)
|