Browse Source

ENH: Existing external projects now uses ctkMacroEmptyExternalProject

Jean-Christophe Fillion-Robin 14 years ago
parent
commit
79601a4ceb

+ 14 - 7
CMakeExternals/CTKData.cmake

@@ -9,16 +9,23 @@ IF(BUILD_TESTING)
     MESSAGE(FATAL_ERROR "CTKData_DIR variable is defined but corresponds to non-existing directory")
   ENDIF()
   
+  SET(proj CTKData)
+  set(proj_DEPENDENCIES)
+  
+  SET(CTKData_DEPENDS ${proj})
+  
   IF(NOT DEFINED CTKData_DIR)
-    SET(proj CTKData)
   #   MESSAGE(STATUS "Adding project:${proj}")
-    SET(CTKData_DEPENDS ${proj})
     ExternalProject_Add(${proj}
-        GIT_REPOSITORY ${git_protocol}://github.com/commontk/CTKData.git
-        CONFIGURE_COMMAND ""
-        BUILD_COMMAND ""
-        INSTALL_COMMAND ""
-        )
+      GIT_REPOSITORY ${git_protocol}://github.com/commontk/CTKData.git
+      CONFIGURE_COMMAND ""
+      BUILD_COMMAND ""
+      INSTALL_COMMAND ""
+      DEPENDS
+        ${proj_DEPENDENCIES}
+      )
 	  SET(CTKData_DIR ${ep_source_dir}/${proj})
+	ELSE()
+	  ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()
 ENDIF()

+ 10 - 3
CMakeExternals/DCMTK.cmake

@@ -11,10 +11,13 @@ IF(${add_project})
     MESSAGE(FATAL_ERROR "DCMTK_DIR variable is defined but corresponds to non-existing directory")
   ENDIF()
   
+  SET(proj DCMTK)
+  SET(proj_DEPENDENCIES)
+  
+  SET(DCMTK_DEPENDS ${proj})
+  
   IF(NOT DEFINED DCMTK_DIR)
-    SET(proj DCMTK)
 #     MESSAGE(STATUS "Adding project:${proj}")
-    SET(DCMTK_DEPENDS ${proj})
 
     ExternalProject_Add(${proj}
         GIT_REPOSITORY "${git_protocol}://github.com/commontk/DCMTK.git"
@@ -31,10 +34,14 @@ IF(${add_project})
       DEPENDERS build    # Steps that depend on this step
       ALWAYS 1
       WORKING_DIRECTORY ${ep_build_dir}/${proj}
+      DEPENDS
+        ${proj_DEPENDENCIES}
       )
       
     # Since DCMTK is statically build, there is not need to add its corresponding 
     # library output directory to CTK_EXTERNAL_LIBRARY_DIRS
-    
+  
+  ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()
 ENDIF()

+ 9 - 2
CMakeExternals/KWStyle.cmake

@@ -9,9 +9,12 @@ IF(CTK_USE_KWSTYLE)
     MESSAGE(FATAL_ERROR "CTK_KWSTYLE_EXECUTABLE variable is defined but corresponds to non-existing executable")
   ENDIF()
   
+  SET(proj KWStyle-CVSHEAD)
+  SET(proj_DEPENDENCIES)
+  
+  SET(kwstyle_DEPENDS ${proj})
+  
   IF(NOT DEFINED CTK_KWSTYLE_EXECUTABLE)
-    SET(proj KWStyle-CVSHEAD)
-    SET(kwstyle_DEPENDS ${proj})
     ExternalProject_Add(${proj}
       LIST_SEPARATOR ${sep}
       CVS_REPOSITORY ":pserver:anoncvs:@public.kitware.com:/cvsroot/KWStyle"
@@ -19,10 +22,14 @@ IF(CTK_USE_KWSTYLE)
       CMAKE_GENERATOR ${gen}
       CMAKE_ARGS
         ${ep_common_args}
+      DEPENDS
+        ${proj_DEPENDENCIES}
       )
     SET(CTK_KWSTYLE_EXECUTABLE ${ep_install_dir}/bin/KWStyle)
     
     # Since KWStyle is an executable, there is not need to add its corresponding 
     # library output directory to CTK_EXTERNAL_LIBRARY_DIRS
+  ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()
 ENDIF()

+ 18 - 11
CMakeExternals/Log4Qt.cmake

@@ -10,23 +10,30 @@ IF(${add_project})
     MESSAGE(FATAL_ERROR "Log4Qt_DIR variable is defined but corresponds to non-existing directory")
   ENDIF()
   
+  SET(proj Log4Qt)
+  SET(proj_DEPENDENCIES)
+  
+  SET(Log4Qt_DEPENDS ${proj})
+  
   IF(NOT DEFINED Log4Qt_DIR)
-    SET(proj Log4Qt)
 #     MESSAGE(STATUS "Adding project:${proj}")
-    SET(Log4Qt_DEPENDS ${proj})
     ExternalProject_Add(${proj}
-        GIT_REPOSITORY "${git_protocol}://github.com/commontk/Log4Qt.git"
-        GIT_TAG "patched"
-        CMAKE_GENERATOR ${gen}
-        BUILD_COMMAND ""
-        CMAKE_ARGS
-          ${ep_common_args}
-          -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
-        )
+      GIT_REPOSITORY "${git_protocol}://github.com/commontk/Log4Qt.git"
+      GIT_TAG "patched"
+      CMAKE_GENERATOR ${gen}
+      BUILD_COMMAND ""
+      CMAKE_ARGS
+        ${ep_common_args}
+        -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
+      DEPENDS
+        ${proj_DEPENDENCIES}
+      )
     SET(Log4Qt_DIR ${ep_install_dir})
     
     # Since Log4Qt is statically build, there is not need to add its corresponding 
     # library output directory to CTK_EXTERNAL_LIBRARY_DIRS
-      
+    
+  ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()
 ENDIF()

+ 17 - 8
CMakeExternals/OpenIGTLink.cmake

@@ -10,17 +10,26 @@ IF(${add_project})
     MESSAGE(FATAL_ERROR "OpenIGTLink_DIR variable is defined but corresponds to non-existing directory")
   ENDIF()
   
+  SET(proj OpenIGTLink)
+  SET(proj_DEPENDENCIES)
+  
+  SET(OpenIGTLink_DEPENDS ${proj})
+  
   IF(NOT DEFINED OpenIGTLink_DIR)
-    SET(proj OpenIGTLink)
+    
   #   MESSAGE(STATUS "Adding project:${proj}")
-    SET(OpenIGTLink_DEPENDS ${proj})
     ExternalProject_Add(${proj}
-        SVN_REPOSITORY "http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink"
-        INSTALL_COMMAND ""
-        CMAKE_GENERATOR ${gen}
-        CMAKE_ARGS
-          ${ep_common_args}
-        )
+      SVN_REPOSITORY "http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink"
+      INSTALL_COMMAND ""
+      CMAKE_GENERATOR ${gen}
+      CMAKE_ARGS
+        ${ep_common_args}
+      DEPENDS
+        ${proj_DEPENDENCIES}
+      )
     SET(OpenIGTLink_DIR ${ep_build_dir}/${proj})
+  
+  ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()
 ENDIF()

+ 10 - 3
CMakeExternals/PythonQt.cmake

@@ -10,10 +10,13 @@ IF(${add_project})
     MESSAGE(FATAL_ERROR "PYTHONQT_INSTALL_DIR variable is defined but corresponds to non-existing directory")
   ENDIF()
   
+  SET(proj PythonQt)
+  SET(proj_DEPENDENCIES)
+  
+  SET(PythonQt_DEPENDS ${proj})
+  
   IF(NOT DEFINED PYTHONQT_INSTALL_DIR)
-    SET(proj PythonQt)
   #   MESSAGE(STATUS "Adding project:${proj}")
-    SET(PythonQt_DEPENDS ${proj})
     
     # Generate ep_PythonQt_args
     SET(ep_PythonQt_args)
@@ -39,11 +42,15 @@ IF(${add_project})
         -DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR}
         -DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
         ${ep_PythonQt_args}
+      DEPENDS
+        ${proj_DEPENDENCIES}
       )
     SET(PYTHONQT_INSTALL_DIR ${ep_install_dir})
     
     # 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
-    
+  
+  ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()
 ENDIF()

+ 11 - 4
CMakeExternals/VTK.cmake

@@ -4,7 +4,6 @@
 SET (VTK_DEPENDS)
 ctkMacroShouldAddExternalProject(VTK_LIBRARIES add_project)
 IF(${add_project})
-  
   # Sanity checks
   IF(DEFINED VTK_DIR AND NOT EXISTS ${VTK_DIR})
     MESSAGE(FATAL_ERROR "VTK_DIR variable is defined but corresponds to non-existing directory")
@@ -14,11 +13,14 @@ IF(${add_project})
   IF(MINGW)
     SET(additional_vtk_cmakevars "-DCMAKE_USE_PTHREADS:BOOL=OFF")
   ENDIF()
+
+  SET(proj VTK)
+  SET(proj_DEPENDENCIES)
+  
+  SET(VTK_DEPENDS ${proj})
   
   IF(NOT DEFINED VTK_DIR)
-    SET(proj VTK)
 #     MESSAGE(STATUS "Adding project:${proj}")
-    SET(VTK_DEPENDS ${proj})
     ExternalProject_Add(${proj}
       GIT_REPOSITORY ${git_protocol}://vtk.org/VTK.git
       INSTALL_COMMAND ""
@@ -35,12 +37,17 @@ IF(${add_project})
         -DVTK_USE_QVTK_QTOPENGL:BOOL=ON
         -DVTK_USE_QT:BOOL=ON
         -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
+      DEPENDS
+        ${proj_DEPENDENCIES}
       )
     SET(VTK_DIR ${ep_build_dir}/${proj})
     
     # Since the link directories associated with VTK is used, it makes sens to 
     # update CTK_EXTERNAL_LIBRARY_DIRS with its associated library output directory
     LIST(APPEND CTK_EXTERNAL_LIBRARY_DIRS ${VTK_DIR}/bin)
-  
+    
+  ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()
 ENDIF()
+

+ 1 - 1
CMakeExternals/XIP.cmake

@@ -17,4 +17,4 @@ IF(${add_project})
       -DHAS_VTK:BOOL=OFF
       -DHAS_ITK:BOOL=OFF
     )
-ENDIF()
+ENDIF()

+ 18 - 10
CMakeExternals/ZMQ.cmake

@@ -10,20 +10,28 @@ IF(${add_project})
     MESSAGE(FATAL_ERROR "ZMQ_DIR variable is defined but corresponds to non-existing directory")
   ENDIF()
   
+  SET(proj ZMQ)
+  SET(proj_DEPENDENCIES)
+  
+  SET(ZMQ_DEPENDS ${proj})
+  
   IF(NOT DEFINED ZMQ_DIR)
-    SET(proj ZMQ)
   #   MESSAGE(STATUS "Adding project:${proj}")
-    SET(ZMQ_DEPENDS ${proj})
     ExternalProject_Add(${proj}
-        GIT_REPOSITORY ${git_protocol}://github.com/PatrickCheng/zeromq2.git
-        INSTALL_COMMAND ""
-        CMAKE_GENERATOR ${gen}
-        CMAKE_ARGS
-          ${ep_common_args}
-		  -DBUILD_SHARED_LIBS:BOOL=ON 
-		  -DZMQ_BUILD_DEVICES:BOOL=ON
-		  -DZMQ_BUILD_PERFORMANCE_TESTS:BOOL=ON
+      GIT_REPOSITORY ${git_protocol}://github.com/PatrickCheng/zeromq2.git
+      INSTALL_COMMAND ""
+      CMAKE_GENERATOR ${gen}
+      CMAKE_ARGS
+        ${ep_common_args}
+		    -DBUILD_SHARED_LIBS:BOOL=ON 
+		    -DZMQ_BUILD_DEVICES:BOOL=ON
+		    -DZMQ_BUILD_PERFORMANCE_TESTS:BOOL=ON
+		  DEPENDS
+		    ${proj_DEPENDENCIES}
       )
 	  SET(ZMQ_DIR ${ep_build_dir}/${proj})
+	
+	ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
 	ENDIF()
 ENDIF()