ソースを参照

ENH: PythonQt wrapping option are now exposed in ctkScriptingPythonCoreConfigure.h file

Doing so allows to conditionally add code specific to each wrapped QtModule.
Jean-Christophe Fillion-Robin 14 年 前
コミット
f156569df8

+ 16 - 0
Libs/Scripting/Python/Core/CMakeLists.txt

@@ -40,6 +40,22 @@ SET(KIT_UI_FORMS
 SET(KIT_resources
 )
 
+#
+# Configure file describing which Qt modules are wrapped
+#
+FOREACH(qtlib gui network opengl sql svg uitools webkit xml xmlpatterns)
+  STRING(TOUPPER ${qtlib} qtlib_uppercase)
+  SET(CTK_PYTHONQT_WRAP_QT${qtlib_uppercase} ${CTK_PythonQt_Wrap_Qt${qtlib}})
+ENDFOREACH()
+
+# TODO Ideally a file named ctkScripingPythonWidgetsConfigure.h should
+# also be configured, this file should deal with module depending only on QtGui
+
+CONFIGURE_FILE(
+  ctkScriptingPythonCoreConfigure.h.in
+  ${CMAKE_CURRENT_BINARY_DIR}/ctkScriptingPythonCoreConfigure.h
+  )
+
 # Target libraries - See CMake/ctkMacroGetTargetLibraries.cmake
 # The following macro will read the target libraries from the file 'target_libraries.cmake'
 ctkMacroGetTargetLibraries(KIT_target_libraries)

+ 1 - 0
Libs/Scripting/Python/Core/ctkAbstractPythonManager.cpp

@@ -24,6 +24,7 @@
 
 // CTK includes
 #include "ctkAbstractPythonManager.h"
+#include "ctkScriptingPythonCoreConfigure.h"
 
 // PythonQT includes
 #include <PythonQt.h>

+ 19 - 0
Libs/Scripting/Python/Core/ctkScriptingPythonCoreConfigure.h.in

@@ -0,0 +1,19 @@
+#ifndef __ctkScriptingPythonCoreConfigure_h
+#define __ctkScriptingPythonCoreConfigure_h
+
+
+///
+/// Here is where system computed values get stored
+///
+
+#cmakedefine CTK_PYTHONQT_WRAP_QTGUI
+#cmakedefine CTK_PYTHONQT_WRAP_QTNETWORK
+#cmakedefine CTK_PYTHONQT_WRAP_QTOPENGL
+#cmakedefine CTK_PYTHONQT_WRAP_QTSQL
+#cmakedefine CTK_PYTHONQT_WRAP_QTSVG
+#cmakedefine CTK_PYTHONQT_WRAP_QTUITOOLS
+#cmakedefine CTK_PYTHONQT_WRAP_QTWEBKIT
+#cmakedefine CTK_PYTHONQT_WRAP_QTXML
+#cmakedefine CTK_PYTHONQT_WRAP_QTXMLPATTERNS
+
+#endif