Sfoglia il codice sorgente

Use CMake'ified version of QtSOAP

Jean-Christophe Fillion-Robin 14 anni fa
parent
commit
7deeb59be9

+ 21 - 32
CMakeExternals/QtSOAP.cmake

@@ -3,7 +3,7 @@
 #
 
 SET(QtSOAP_DEPENDS)
-ctkMacroShouldAddExternalProject(QTSOAP_LIBRARY add_project)
+ctkMacroShouldAddExternalProject(QtSOAP_LIBRARIES add_project)
 IF(${add_project})
   
   # Sanity checks
@@ -11,7 +11,7 @@ IF(${add_project})
     MESSAGE(FATAL_ERROR "QtSOAP_DIR variable is defined but corresponds to non-existing directory")
   ENDIF()
 
-  SET(QtSOAP_enabling_variable QTSOAP_LIBRARY)
+  SET(QtSOAP_enabling_variable QtSOAP_LIBRARIES)
 
   SET(proj QtSOAP)
   SET(proj_DEPENDENCIES)
@@ -19,42 +19,31 @@ IF(${add_project})
   SET(QtSOAP_DEPENDS ${proj})
 
   IF(NOT DEFINED QtSOAP_DIR)
-    IF(WIN32)
-      SET(_qtsoap_url "${CTK_SOURCE_DIR}/Utilities/QtSOAP/qtsoap-2.7_1-opensource-win32.tar.gz")
-      SET(_make_cmd nmake)
-      IF(MINGW)
-        SET(_make_cmd mingw32-make)
-      ENDIF()
-    ELSE()
-      SET(_qtsoap_url "http://get.qt.nokia.com/qt/solutions/lgpl/qtsoap-2.7_1-opensource.tar.gz")
-      SET(_make_cmd make)
-    ENDIF()
-
-    SET(_qtsoap_patch_script "${CTK_BINARY_DIR}/Utilities/QtSOAP/AcceptLicense.cmake")
-    CONFIGURE_FILE("${CTK_SOURCE_DIR}/Utilities/QtSOAP/AcceptLicense.cmake.in" ${_qtsoap_patch_script} @ONLY)
-
-    SET(_qtsoap_build_script "${CTK_BINARY_DIR}/Utilities/QtSOAP/BuildScript.cmake")
-    CONFIGURE_FILE("${CTK_SOURCE_DIR}/Utilities/QtSOAP/BuildScript.cmake.in" ${_qtsoap_build_script} @ONLY)
-
-    SET(_qtsoap_install_script "${CTK_BINARY_DIR}/Utilities/QtSOAP/InstallScript.cmake")
-    CONFIGURE_FILE("${CTK_SOURCE_DIR}/Utilities/QtSOAP/InstallScript.cmake.in" ${_qtsoap_install_script} @ONLY)
-
+  
+    #     MESSAGE(STATUS "Adding project:${proj}")
     ExternalProject_Add(${proj}
-      URL ${_qtsoap_url}
-      PATCH_COMMAND ${CMAKE_COMMAND} -P ${_qtsoap_patch_script}
-      CONFIGURE_COMMAND <SOURCE_DIR>/configure -library
-      BUILD_IN_SOURCE 1
-      BUILD_COMMAND ${CMAKE_COMMAND} -P ${_qtsoap_build_script}
-      INSTALL_COMMAND ${CMAKE_COMMAND} -D INTERMEDIATE_DIRECTORY:STRING=$(IntDir) -P ${_qtsoap_install_script}
-    )
-
-    SET(QtSOAP_DIR "${CTK_BINARY_DIR}/Utilities/QtSOAP/")
+      GIT_REPOSITORY "${git_protocol}://github.com/commontk/QtSOAP.git"
+      GIT_TAG "origin/master"
+      CMAKE_GENERATOR ${gen}
+      INSTALL_COMMAND ""
+      CMAKE_ARGS
+        ${ep_common_args}
+        -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
+      DEPENDS
+        ${proj_DEPENDENCIES}
+      )
+    SET(QtSOAP_DIR "${ep_build_dir}/${proj}")
+    
+    # Since the link directories associated with QtSOAP is used, it makes sens to 
+    # update CTK_EXTERNAL_LIBRARY_DIRS with its associated library output directory
+    LIST(APPEND CTK_EXTERNAL_LIBRARY_DIRS ${QtSOAP_DIR}/bin)
 
   ELSE()
     ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()
 
-  SET(${QtSOAP_enabling_variable}_INCLUDE_DIRS QTSOAP_INCLUDE_DIR)
+  SET(${QtSOAP_enabling_variable}_LIBRARY_DIRS QtSOAP_LIBRARY_DIRS)
+  SET(${QtSOAP_enabling_variable}_INCLUDE_DIRS QtSOAP_INCLUDE_DIRS)
   SET(${QtSOAP_enabling_variable}_FIND_PACKAGE_CMD QtSOAP)
       
 ENDIF()

+ 2 - 0
Plugins/org.commontk.dah.core/CMakeLists.txt

@@ -1,5 +1,7 @@
 PROJECT(org_commontk_dah_core)
 
+#message(QtSOAP_LIBRARY_DIRS:${QtSOAP_LIBRARY_DIRS})
+
 SET(PLUGIN_export_directive "org_commontk_dah_core_EXPORT")
 
 SET(PLUGIN_SRCS

+ 1 - 1
Plugins/org.commontk.dah.core/target_libraries.cmake

@@ -7,6 +7,6 @@
 SET(target_libraries
   CTKPluginFramework
   QT_LIBRARIES
-  QTSOAP_LIBRARY
+  QtSOAP_LIBRARIES
   CTKDICOMCore
 )

+ 0 - 4
Utilities/QtSOAP/AcceptLicense.cmake.in

@@ -1,4 +0,0 @@
-set(work_dir @ep_source_dir@)
-set(proj_dir ${work_dir}/@proj@)
-
-FILE(WRITE "${proj_dir}/.licenseAccepted" "license accepted\n")

+ 0 - 25
Utilities/QtSOAP/BuildScript.cmake.in

@@ -1,25 +0,0 @@
-set(work_dir @ep_source_dir@)
-set(proj_dir ${work_dir}/@proj@)
-
-# On MinGW systems, multiple commands are not
-# executed inside one EXECUTE_PROCESS call
-
-EXECUTE_PROCESS(
-  COMMAND @QT_QMAKE_EXECUTABLE@
-  WORKING_DIRECTORY ${proj_dir}
-  ERROR_VARIABLE _error
-)
-
-IF(_error)
-  MESSAGE("${_error}")
-ENDIF()
-
-EXECUTE_PROCESS(
-  COMMAND @_make_cmd@
-  WORKING_DIRECTORY ${proj_dir}
-  ERROR_VARIABLE _error
-)
-
-IF(_error)
-  MESSAGE("${_error}")
-ENDIF()

+ 0 - 8
Utilities/QtSOAP/InstallScript.cmake.in

@@ -1,8 +0,0 @@
-set(work_dir @ep_source_dir@)
-set(proj_dir ${work_dir}/@proj@)
-
-SET(_qtsoap_lib_dir "${proj_dir}/lib")
-SET(_qtsoap_include_dir "${proj_dir}/src/")
-
-CONFIGURE_FILE("@CTK_SOURCE_DIR@/Utilities/QtSOAP/QtSOAPConfig.cmake.in"
-               "@CTK_BINARY_DIR@/Utilities/QtSOAP/QtSOAPConfig.cmake" @ONLY)

+ 0 - 15
Utilities/QtSOAP/QtSOAPConfig.cmake.in

@@ -1,15 +0,0 @@
-FIND_LIBRARY(QTSOAP_LIBRARY_RELEASE QtSolutions_SOAP-2.7 "@_qtsoap_lib_dir@")
-FIND_LIBRARY(QTSOAP_LIBRARY_DEBUG QtSolutions_SOAP-2.7d "@_qtsoap_lib_dir@")
-
-IF(QTSOAP_LIBRARY_DEBUG AND QTSOAP_LIBRARY_RELEASE)
-  SET(QTSOAP_LIBRARY "debug;${QTSOAP_LIBRARY_DEBUG};optimized;${QTSOAP_LIBRARY_RELEASE}")
-ELSEIF(QTSOAP_LIBRARY_DEBUG)
-  SET(QTSOAP_LIBRARY "${QTSOAP_LIBRARY_DEBUG}")
-ELSEIF(QTSOAP_LIBRARY_RELEASE)
-  SET(QTSOAP_LIBRARY "${QTSOAP_LIBRARY_RELEASE}")
-ELSE()
-  MESSAGE(FATAL_ERROR "No debug or release version of QtSOAP found.")
-ENDIF()
-
-SET(QTSOAP_INCLUDE_DIR "@_qtsoap_include_dir@")
-

BIN
Utilities/QtSOAP/qtsoap-2.7_1-opensource-win32.tar.gz