Переглянути джерело

Fix CMake files for "DAH" related apps/plugins.

The CMake files now make use of the improved build system.
Sascha Zelzer 14 роки тому
батько
коміт
610e072a62

+ 0 - 10
Applications/ctkExampleHost/CMakeLists.txt

@@ -29,18 +29,8 @@ SET(KIT_resources
 # The following macro will read the target libraries from the file 'target_libraries.cmake'
 ctkMacroGetTargetLibraries(KIT_target_libraries)
 
-# Additional directories to include - Note that CTK_INCLUDE_LIBRARIES is already included
-SET(KIT_include_directories
-)
-
-# Fix this after having discussed include dependencies with Jc
-FOREACH(_dep ${${PROJECT_NAME}_DEPENDENCIES})
-  INCLUDE_DIRECTORIES(${${_dep}_SOURCE_DIR} ${${_dep}_BINARY_DIR})
-ENDFOREACH()
-
 ctkMacroBuildApp(
   NAME ${PROJECT_NAME}
-  INCLUDE_DIRECTORIES ${KIT_include_directories}
   SRCS ${KIT_SRCS}
   MOC_SRCS ${KIT_MOC_SRCS}
   UI_FORMS ${KIT_UI_FORMS}

+ 0 - 10
Applications/ctkExampleHostedApp/CMakeLists.txt

@@ -27,18 +27,8 @@ SET(KIT_resources
 # The following macro will read the target libraries from the file 'target_libraries.cmake'
 ctkMacroGetTargetLibraries(KIT_target_libraries)
 
-# Additional directories to include - Note that CTK_INCLUDE_LIBRARIES is already included
-SET(KIT_include_directories
-)
-
-# Fix this after having discussed include dependencies with Jc
-FOREACH(_dep ${${PROJECT_NAME}_DEPENDENCIES})
-  INCLUDE_DIRECTORIES(${${_dep}_SOURCE_DIR} ${${_dep}_BINARY_DIR})
-ENDFOREACH()
-
 ctkMacroBuildApp(
   NAME ${PROJECT_NAME}
-  INCLUDE_DIRECTORIES ${KIT_include_directories}
   SRCS ${KIT_SRCS}
   MOC_SRCS ${KIT_MOC_SRCS}
   UI_FORMS ${KIT_UI_FORMS}

+ 0 - 1
Applications/ctkExampleHostedApp/target_libraries.cmake

@@ -5,6 +5,5 @@
 # 
 
 SET(target_libraries
-  CTKPluginFramework
   org_commontk_dah_app
   )

+ 41 - 28
CMakeExternals/QtSOAP.cmake

@@ -6,42 +6,55 @@ SET(QtSOAP_DEPENDS)
 ctkMacroShouldAddExternalProject(QTSOAP_LIBRARY add_project)
 IF(${add_project})
   
+  # Sanity checks
+  IF(DEFINED QtSOAP_DIR AND NOT EXISTS ${QtSOAP_DIR})
+    MESSAGE(FATAL_ERROR "QtSOAP_DIR variable is defined but corresponds to non-existing directory")
+  ENDIF()
+
+  SET(QtSOAP_enabling_variable QTSOAP_LIBRARY)
+
   SET(proj QtSOAP)
-  MESSAGE(STATUS "Adding project:${proj}")
+  SET(proj_DEPENDENCIES)
+
   SET(QtSOAP_DEPENDS ${proj})
 
-  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)
+  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()
-  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_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_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)
 
-  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)
+    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}
+    )
 
-  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/")
 
-  SET(QtSOAP_DIR "${CTK_BINARY_DIR}/Utilities/QtSOAP/")
+  ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
+  ENDIF()
 
-  # Since the full path of PythonQt library is used, there is not need to add 
-  # its corresponding library output directory to CTK_EXTERNAL_LIBRARY_DIRS
-    
+  SET(${QtSOAP_enabling_variable}_INCLUDE_DIRS QTSOAP_INCLUDE_DIR)
+  SET(${QtSOAP_enabling_variable}_FIND_PACKAGE_CMD QtSOAP)
+      
 ENDIF()

+ 0 - 5
Plugins/org.commontk.dah.app/CMakeLists.txt

@@ -1,10 +1,5 @@
 PROJECT(org_commontk_dah_app)
 
-FIND_PACKAGE(QtSOAP)
-IF(NOT QtSOAP_FOUND)
-  MESSAGE(FATAL_ERROR "error: QtSOAP package is required to build ${PROJECT_NAME}" )
-ENDIF()
-
 SET(PLUGIN_export_directive "org_commontk_dah_app_EXPORT")
 
 SET(PLUGIN_SRCS

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

@@ -1,20 +1,7 @@
 PROJECT(org_commontk_dah_core)
 
-FIND_PACKAGE(QtSOAP)
-IF(NOT QtSOAP_FOUND)
-  MESSAGE(FATAL_ERROR "error: QtSOAP package is required to build ${PROJECT_NAME}" )
-ENDIF()
-
-# TODO: Fix this after discussing include dependencies with Jc
-SET(CTK_BASE_INCLUDE_DIRS ${CTK_BASE_INCLUDE_DIRS} ${QTSOAP_INCLUDE_DIR} CACHE INTERNAL "CTK includes" FORCE)
-
 SET(PLUGIN_export_directive "org_commontk_dah_core_EXPORT")
 
-# Additional directories to include
-SET(PLUGIN_include_directories
-
-)
-
 SET(PLUGIN_SRCS
   ctkDicomAppHostingCorePlugin.cpp
   ctkDicomAppHostingTypes.h
@@ -55,7 +42,6 @@ ctkMacroGetTargetLibraries(PLUGIN_target_libraries)
 ctkMacroBuildPlugin(
   NAME ${PROJECT_NAME}
   EXPORT_DIRECTIVE ${PLUGIN_export_directive}
-  INCLUDE_DIRECTORIES ${PLUGIN_include_directories}
   SRCS ${PLUGIN_SRCS}
   MOC_SRCS ${PLUGIN_MOC_SRCS}
   UI_FORMS ${PLUGIN_UI_FORMS}