Page MenuHomePhabricator

0001-Enabling-debug-python-build.patch

Authored By
khlebnikov
Sep 17 2015, 2:51 PM
Size
6 KB
Referenced Files
None
Subscribers
None

0001-Enabling-debug-python-build.patch

From f1915c185d8a55c6e98c86366afe6794b77870ae Mon Sep 17 00:00:00 2001
From: Rostislav Khlebnikov <r.khlebnikov@gmail.com>
Date: Thu, 17 Sep 2015 13:46:59 +0100
Subject: [PATCH] Enabling debug python build
Signed-off-by: Rostislav Khlebnikov <r.khlebnikov@gmail.com>
---
.gitignore | 1 +
CMakeExternals/CTK.cmake | 11 +++++++++++
CMakeExternals/Python-2.7.3.patch | 25 +++++++++++++++++++++++++
CMakeExternals/Python.cmake | 11 +++++++++++
CMakeExternals/SimpleITK.cmake | 2 ++
SuperBuild.cmake | 4 +++-
6 files changed, 53 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index b7e517e..97c6bed 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,3 +70,4 @@ Icon
## Linux
*~
superbuild
+sb
diff --git a/CMakeExternals/CTK.cmake b/CMakeExternals/CTK.cmake
index 1996adf..63b3c68 100644
--- a/CMakeExternals/CTK.cmake
+++ b/CMakeExternals/CTK.cmake
@@ -33,6 +33,8 @@ if(MITK_USE_CTK)
-DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR}
-DPYTHON_INCLUDE_DIR2:PATH=${PYTHON_INCLUDE_DIR2}
-DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
+ -DPYTHON_LIBRARY_DEBUG:FILEPATH=${PYTHON_LIBRARY}
+ -DPYTHON_DEBUG_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
)
else()
list(APPEND ctk_optional_cache_args
@@ -77,6 +79,13 @@ if(MITK_USE_CTK)
set(ctk_patch_command ${PATCH_COMMAND} -N -p1 -i ${CMAKE_CURRENT_LIST_DIR}/CTK.patch)
endif()
+ set(ctk_additional_c_flags)
+ set(ctk_additional_cxx_flags)
+ if(MSVC_VERSION)
+ set(ctk_additional_c_flags /bigobj /MP)
+ set(ctk_additional_cxx_flags /bigobj /MP)
+ endif()
+
ExternalProject_Add(${proj}
LIST_SEPARATOR ${sep}
URL ${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/CTK_${revision_tag}.tar.gz
@@ -91,6 +100,8 @@ if(MITK_USE_CTK)
${ep_common_args}
${ctk_optional_cache_args}
${ctk_qt_args}
+ -DADDITIONAL_C_FLAGS:STRING=${ctk_additional_c_flags}
+ -DADDITIONAL_CXX_FLAGS:STRING=${ctk_additional_cxx_flags}
# The CTK PluginFramework cannot cope with
# a non-empty CMAKE_DEBUG_POSTFIX for the plugin
# libraries yet.
diff --git a/CMakeExternals/Python-2.7.3.patch b/CMakeExternals/Python-2.7.3.patch
index f865570..4f443e2 100644
--- a/CMakeExternals/Python-2.7.3.patch
+++ b/CMakeExternals/Python-2.7.3.patch
@@ -26,3 +26,28 @@ diff -urNb Python-2.7.3/Lib/distutils/msvc9compiler.py Python-src/Lib/distutils/
if mfinfo is not None:
mffilename, mfid = mfinfo
out_arg = '-outputresource:%s;%s' % (output_filename, mfid)
+
+diff -urNb Python-2.7.3/PC/pyconfig.h Python-src/PC/pyconfig.h
+--- Python-2.7.3/PC/pyconfig.h 2012-04-10 01:07:29.000000000 +0200
++++ Python-src/PC/pyconfig.h 2015-01-13 21:03:33.021871739 +0100
+@@ -323,7 +323,7 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
+ their Makefile (other compilers are generally
+ taken care of by distutils.) */
+ # ifdef _DEBUG
+-# pragma comment(lib,"python27_d.lib")
++# pragma comment(lib,"python27.lib")
+ # else
+ # pragma comment(lib,"python27.lib")
+ # endif /* _DEBUG */
+@@ -364,9 +364,11 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
+ # endif
+ #endif
+
++/*
+ #ifdef _DEBUG
+ # define Py_DEBUG
+ #endif
++*/
+
+
+ #ifdef MS_WIN32
diff --git a/CMakeExternals/Python.cmake b/CMakeExternals/Python.cmake
index 4ac359e..ead2bbe 100644
--- a/CMakeExternals/Python.cmake
+++ b/CMakeExternals/Python.cmake
@@ -122,6 +122,14 @@ if( MITK_USE_Python AND NOT MITK_USE_SYSTEM_PYTHON )
if(WIN32)
set(_python_install_dir -DCMAKE_INSTALL_PREFIX:PATH=${ep_prefix}/lib/python${MITK_PYTHON_MAJOR_VERSION}.${MITK_PYTHON_MINOR_VERSION})
endif()
+
+ if (MSVC)
+ set(_python_build_command ${CMAKE_COMMAND} --build <BINARY_DIR> --config Release) # always build release
+ set(_python_install_command ${CMAKE_COMMAND} --build <BINARY_DIR> --config Release --target INSTALL) # always build release
+ else()
+ set(_python_build_command ${CMAKE_COMMAND} --build <BINARY_DIR>)
+ set(_python_install_command ${CMAKE_COMMAND} --build <BINARY_DIR> --target INSTALL) # always build release
+ endif()
# CMake build environment for python from:
# https://github.com/davidsansome/python-cmake-buildsystem
@@ -132,6 +140,8 @@ if( MITK_USE_Python AND NOT MITK_USE_SYSTEM_PYTHON )
# fix to build python on i686 and i386 with the python cmake build system,
# the x86 path must be set as default
PATCH_COMMAND ${PATCH_COMMAND} -N -p1 -i ${CMAKE_CURRENT_LIST_DIR}/python-cmake-buildsystem-47845c55.patch
+ BUILD_COMMAND ${_python_build_command}
+ INSTALL_COMMAND ${_python_install_command}
CMAKE_ARGS
${ep_common_args}
CMAKE_CACHE_ARGS
@@ -196,6 +206,7 @@ ${PYTHON_EXECUTABLE} -m compileall
set(PYTHON_INCLUDE_DIR "${Python_DIR}/include")
set(PYTHON_INCLUDE_DIR2 "${PYTHON_INCLUDE_DIR}")
set(PYTHON_LIBRARY "${Python_DIR}/libs/python${MITK_PYTHON_MAJOR_VERSION}${MITK_PYTHON_MINOR_VERSION}.lib")
+# set(PYTHON_LIBRARY_DEBUG "${Python_DIR}/libs/python${MITK_PYTHON_MAJOR_VERSION}${MITK_PYTHON_MINOR_VERSION}_d.lib")
set(MITK_PYTHON_SITE_DIR "${Python_DIR}/Lib/site-packages")
# pre compile all *.py files in the runtime after install step
diff --git a/CMakeExternals/SimpleITK.cmake b/CMakeExternals/SimpleITK.cmake
index 972da24..a3bb699 100644
--- a/CMakeExternals/SimpleITK.cmake
+++ b/CMakeExternals/SimpleITK.cmake
@@ -39,6 +39,8 @@ if(MITK_USE_SimpleITK)
-DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR}
-DPYTHON_INCLUDE_DIR2:PATH=${PYTHON_INCLUDE_DIR2}
-DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
+ -DPYTHON_LIBRARY_DEBUG:FILEPATH=${PYTHON_LIBRARY}
+ -DPYTHON_DEBUG_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
)
if(NOT MITK_USE_SYSTEM_PYTHON)
list(APPEND proj_DEPENDENCIES Python)
diff --git a/SuperBuild.cmake b/SuperBuild.cmake
index 7fd30eb..2c80abe 100644
--- a/SuperBuild.cmake
+++ b/SuperBuild.cmake
@@ -182,7 +182,7 @@ set(ep_common_args
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
- "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS} ${MITK_CXX11_FLAG}"
+ -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
#debug flags
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_C_FLAGS_DEBUG:STRING=${CMAKE_C_FLAGS_DEBUG}
@@ -327,6 +327,8 @@ if(MITK_USE_Python)
-DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE}
-DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR}
-DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
+ -DPYTHON_LIBRARY_DEBUG:FILEPATH=${PYTHON_LIBRARY}
+ -DPYTHON_DEBUG_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
-DPYTHON_INCLUDE_DIR2:PATH=${PYTHON_INCLUDE_DIR2}
-DMITK_USE_SYSTEM_PYTHON:BOOL=${MITK_USE_SYSTEM_PYTHON}
)
--
1.8.4.msysgit.0

File Metadata

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1106
Default Alt Text
0001-Enabling-debug-python-build.patch (6 KB)