changeset 377:ffe62e6c086f

Added a note about the debug libraries when building under Windows with Visual Studio.
author Benjamin Golinvaux <bgo@osimis.io>
date Mon, 06 Apr 2020 20:28:19 +0200
parents 6d7a36447e21
children c9fe3d0d0fa1
files Sphinx/source/plugins/python.rst
diffstat 1 files changed, 24 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/Sphinx/source/plugins/python.rst	Mon Apr 06 20:06:14 2020 +0200
+++ b/Sphinx/source/plugins/python.rst	Mon Apr 06 20:28:19 2020 +0200
@@ -161,6 +161,30 @@
   C:\orthanc-python\Build> cmake .. -DPYTHON_VERSION=2.7 -DPYTHON_WINDOWS_ROOT=C:/Python27 \
                                     -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 15 2017"
 
+**Note about debug builds**: usually, building Python modules such as the Python 
+plugin for Orthanc in debug mode (where ``_DEBUG`` is defined) leads to a module 
+(.exe or .dll) that requires a debug build of Python, and debug versions of all
+the Python libraries. This is quite cumbersome, for it requires building Python
+on your own or downloading additional debug files.
+
+Since using a debug build of Python is only necessary in very specific cases 
+(such as the debugging of code at the boundary between Python and an extension),
+we have changed the default behavior to use the release Python library by default.
+
+This means that you are able to build this plugin in debug mode with the 
+standard Python distribution.
+
+In case you need to use the Python debug libraries, you can instruct the build
+system to do so by setting the ``PYTHON_WINDOWS_USE_RELEASE_LIBS`` CMake option,
+that is ``ON`` by default, to ``OFF``. The previous build example would then be,
+should you require a full debug build::
+
+  C:\orthanc-python\Build> cmake .. -DPYTHON_VERSION=2.7 -DPYTHON_WINDOWS_ROOT=C:/Python27 \
+                                    -DSTATIC_BUILD=ON -DPYTHON_WINDOWS_USE_RELEASE_LIBS=OFF \
+                                    -DCMAKE_BUILD_TYPE=Debug -G "Visual Studio 15 2017"
+
+Please note that this CMake option only impacts **debug** builds under Windows, 
+when using (any version of) the Microsoft Visual Studio compiler.
 
 Configuration options
 ---------------------