瀏覽代碼

ENH: Add PythonQt as ExternalProject

Jean-Christophe Fillion-Robin 15 年之前
父節點
當前提交
7ca7e89485
共有 1 個文件被更改,包括 38 次插入13 次删除
  1. 38 13
      SuperBuild.cmake

+ 38 - 13
SuperBuild.cmake

@@ -8,6 +8,9 @@ CMAKE_MINIMUM_REQUIRED(VERSION ${cmake_version_required})
 # DCMTK_DIR
 # DCMTK_DIR
 # QT_QMAKE_EXECUTABLE
 # QT_QMAKE_EXECUTABLE
 # VTK_DIR
 # VTK_DIR
+# PYTHONQT_INSTALL_DIR
+# PYTHON_LIBRARY
+# PYTHON_INCLUDE_DIR
 #
 #
 
 
 #-----------------------------------------------------------------------------
 #-----------------------------------------------------------------------------
@@ -102,18 +105,40 @@ ENDIF()
 SET(PythonQt_DEPENDS)
 SET(PythonQt_DEPENDS)
 ctkMacroShouldAddExternalProject(PYTHONQT_LIBRARIES add_project)
 ctkMacroShouldAddExternalProject(PYTHONQT_LIBRARIES add_project)
 IF(${add_project})
 IF(${add_project})
-#   SET(proj PythonQt)
-#   SET(PythonQt_DEPENDS ${proj})
-#   ExternalProject_Add(${proj}
-#       SVN_REPOSITORY "https://pythonqt.svn.sourceforge.net/svnroot/pythonqt/trunk"
-#       CMAKE_GENERATOR ${gen}
-#       PATCH_COMMAND ${CMAKE_COMMAND} -P ${pythonqt_patch_script}
-#       BUILD_COMMAND ""
-#       CMAKE_ARGS
-#         ${ep_common_args}
-#         -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
-#         #${vtk_PYTHON_ARGS}
-#       INSTALL_COMMAND "")
+  IF(NOT DEFINED PYTHONQT_INSTALL_DIR)
+    SET(proj PythonQt)
+  #   MESSAGE(STATUS "Adding project:${proj}")
+    SET(PythonQt_DEPENDS ${proj})
+
+    # Python is required
+    FIND_PACKAGE(PythonLibs)
+    IF(NOT PYTHONLIBS_FOUND)
+      MESSAGE(FATAL_ERROR "error: Python is required to build ${PROJECT_NAME}")
+    ENDIF()
+
+    # Configure patch script
+    SET(pythonqt_src_dir ${ep_source_dir}/${proj})
+    SET(pythonqt_patch_dir ${CTK_SOURCE_DIR}/Utilities/PythonQt/)
+    SET(pythonqt_configured_patch_dir ${CTK_BINARY_DIR}/Utilities/PythonQt/)
+    SET(pythonqt_patchscript
+      ${CTK_BINARY_DIR}/Utilities/PythonQt/PythonQt-trunk-patch.cmake)
+    CONFIGURE_FILE(
+      ${CTK_SOURCE_DIR}/Utilities/PythonQt/PythonQt-trunk-patch.cmake.in
+      ${pythonqt_patchscript} @ONLY)
+      
+    ExternalProject_Add(${proj}
+      SVN_REPOSITORY "http://pythonqt.svn.sourceforge.net/svnroot/pythonqt/trunk"
+      CMAKE_GENERATOR ${gen}
+      PATCH_COMMAND ${CMAKE_COMMAND} -P ${pythonqt_patchscript}
+      BUILD_COMMAND ""
+      CMAKE_ARGS
+        ${ep_common_args}
+        -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
+        -DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR}
+        -DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
+      )
+    SET(PYTHONQT_INSTALL_DIR ${ep_install_dir})
+  ENDIF()
 ENDIF()
 ENDIF()
     
     
 #-----------------------------------------------------------------------------
 #-----------------------------------------------------------------------------
@@ -235,7 +260,7 @@ ctkMacroShouldAddExternalProject(VTK_LIBRARIES add_project)
 IF(${add_project})
 IF(${add_project})
   IF(NOT DEFINED VTK_DIR)
   IF(NOT DEFINED VTK_DIR)
     SET(proj VTK)
     SET(proj VTK)
-    MESSAGE(STATUS "Adding project:${proj}")
+#     MESSAGE(STATUS "Adding project:${proj}")
     SET(VTK_DEPENDS ${proj})
     SET(VTK_DEPENDS ${proj})
     ExternalProject_Add(${proj}
     ExternalProject_Add(${proj}
       GIT_REPOSITORY git://vtk.org/VTK.git
       GIT_REPOSITORY git://vtk.org/VTK.git