Browse Source

Use fixed SHA1 values and no update step for external projects.

This allows for better control of the external project state and
additionally works around a bug in ExternalProject_add() on VS2010.

For custom SHA1 values (e.g. for dashboards),
add <proj-name>_REVISION_TAG CMake variable manually to your cache.
Sascha Zelzer 14 years ago
parent
commit
ec0344d464

+ 12 - 5
CMakeExternals/CTKData.cmake

@@ -15,22 +15,29 @@ IF(BUILD_TESTING)
   SET(CTKData_DEPENDS ${proj})
   
   IF(NOT DEFINED CTKData_DIR)
-  #   MESSAGE(STATUS "Adding project:${proj}")
+  
+    SET(revision_tag cc07f1ff391b7828459c)
+    IF(${proj}_REVISION_TAG)
+      SET(revision_tag ${${proj}_REVISION_TAG})
+    ENDIF()
+  
+#    MESSAGE(STATUS "Adding project:${proj}")
     ExternalProject_Add(${proj}
       SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}
       BINARY_DIR ${proj}-build
       PREFIX ${proj}${ep_suffix}
       GIT_REPOSITORY ${git_protocol}://github.com/commontk/CTKData.git
-      GIT_TAG "origin/master"
+      GIT_TAG ${revision_tag}
+      UPDATE_COMMAND ""
       CONFIGURE_COMMAND ""
       BUILD_COMMAND ""
       INSTALL_COMMAND ""
       DEPENDS
         ${proj_DEPENDENCIES}
       )
-	  SET(CTKData_DIR ${CMAKE_BINARY_DIR}/${proj})
-	ELSE()
-	  ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
+    SET(CTKData_DIR ${CMAKE_BINARY_DIR}/${proj})
+  ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()
   
   LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DCTKData_DIR:PATH=${CTKData_DIR})

+ 8 - 1
CMakeExternals/DCMTK.cmake

@@ -19,6 +19,12 @@ IF(${add_project})
   SET(DCMTK_DEPENDS ${proj})
   
   IF(NOT DEFINED DCMTK_DIR)
+  
+    SET(revision_tag 09db15ff595da6c353)
+    IF(${proj}_REVISION_TAG)
+      SET(revision_tag ${${proj}_REVISION_TAG})
+    ENDIF()
+  
 #     MESSAGE(STATUS "Adding project:${proj}")
     # Set CMake OSX variable to pass down the external project
     set(CMAKE_OSX_EXTERNAL_PROJECT_ARGS)
@@ -34,8 +40,9 @@ IF(${add_project})
       BINARY_DIR ${proj}-build
       PREFIX ${proj}${ep_suffix}
       GIT_REPOSITORY "http://git.dcmtk.org/dcmtk.git"
-      GIT_TAG "09db15ff595da6c35330fd7f63669aeb9952e015"
+      GIT_TAG ${revision_tag}
       CMAKE_GENERATOR ${gen}
+      UPDATE_COMMAND ""
       BUILD_COMMAND ""
       CMAKE_ARGS
         -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}

+ 8 - 1
CMakeExternals/ITK.cmake

@@ -17,6 +17,12 @@ IF(${add_project})
   SET(ITK_DEPENDS ${proj})
   
   IF(NOT DEFINED ITK_DIR)
+  
+    SET(revision_tag "v3.20.0")
+    IF(${proj}_REVISION_TAG)
+      SET(revision_tag ${${proj}_REVISION_TAG})
+    ENDIF()
+  
     # Set CMake OSX variable to pass down the external project
     set(CMAKE_OSX_EXTERNAL_PROJECT_ARGS)
     if(APPLE)
@@ -32,7 +38,8 @@ IF(${add_project})
       BINARY_DIR ${proj}-build
       PREFIX ${proj}${ep_suffix}
       GIT_REPOSITORY "${git_protocol}://itk.org/ITK.git"
-      GIT_TAG "origin/master"
+      GIT_TAG ${revision_tag}
+      UPDATE_COMMAND ""
       INSTALL_COMMAND ""
       CMAKE_GENERATOR ${gen}
       CMAKE_ARGS

+ 8 - 1
CMakeExternals/Log4Qt.cmake

@@ -18,6 +18,12 @@ IF(${add_project})
   SET(Log4Qt_DEPENDS ${proj})
   
   IF(NOT DEFINED Log4Qt_DIR)
+  
+    SET(revision_tag 8d3558b0f636cbf8ff83)
+    IF(${proj}_REVISION_TAG)
+      SET(revision_tag ${${proj}_REVISION_TAG})
+    ENDIF()
+  
     # Set CMake OSX variable to pass down the external project
     set(CMAKE_OSX_EXTERNAL_PROJECT_ARGS)
     if(APPLE)
@@ -33,9 +39,10 @@ IF(${add_project})
       BINARY_DIR ${proj}-build
       PREFIX ${proj}${ep_suffix}
       GIT_REPOSITORY "${git_protocol}://github.com/commontk/Log4Qt.git"
-      GIT_TAG "origin/patched"
+      GIT_TAG ${revision_tag}
       CMAKE_GENERATOR ${gen}
       INSTALL_COMMAND ""
+      UPDATE_COMMAND ""
       CMAKE_ARGS
         -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
         -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags}

+ 7 - 1
CMakeExternals/PythonQt.cmake

@@ -49,14 +49,20 @@ IF(${add_project})
         -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
         -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET})
     endif()
+    
+    SET(revision_tag 3171a94e16ba9bfee137)
+    IF(${proj}_REVISION_TAG)
+      SET(revision_tag ${${proj}_REVISION_TAG})
+    ENDIF()
 
     ExternalProject_Add(${proj}
       SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}
       BINARY_DIR ${proj}-build
       PREFIX ${proj}${ep_suffix}
       GIT_REPOSITORY "${git_protocol}://github.com/commontk/PythonQt.git"
-      GIT_TAG "origin/patched"
+      GIT_TAG ${revision_tag}
       CMAKE_GENERATOR ${gen}
+      UPDATE_COMMAND ""
       BUILD_COMMAND ""
       CMAKE_ARGS
         -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}

+ 8 - 1
CMakeExternals/PythonQtGenerator.cmake

@@ -59,14 +59,21 @@ IF(CTK_WRAP_PYTHONQT_FULL)
           "PythonQt" # To make sure the generator code is checked out, let's depent on PythonQt
         )
     ELSE()
+    
+      SET(revision_tag 3171a94e16ba9bfee137)
+      IF(${proj}_REVISION_TAG)
+        SET(revision_tag ${${proj}_REVISION_TAG})
+      ENDIF()
+    
       #MESSAGE(STATUS "ExternalProject/PythonQtGenerator: PythonQt is NOT an ExternalProject")
       ExternalProject_Add(${proj}
         SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}
         BINARY_DIR ${proj}-build
         PREFIX ${proj}${ep_suffix}
         GIT_REPOSITORY "${git_protocol}://github.com/commontk/PythonQt.git"
-        GIT_TAG "patched"
+        GIT_TAG 3171a94e16ba9bfee137
         CMAKE_GENERATOR ${gen}
+        UPDATE_COMMAND ""
         INSTALL_COMMAND ""
         SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}/generator
         CMAKE_ARGS

+ 8 - 1
CMakeExternals/QtSOAP.cmake

@@ -19,6 +19,12 @@ IF(${add_project})
   SET(QtSOAP_DEPENDS ${proj})
 
   IF(NOT DEFINED QtSOAP_DIR)
+  
+    SET(revision_tag 42ce9d3dcbc66dd551a8)
+    IF(${proj}_REVISION_TAG)
+      SET(revision_tag ${${proj}_REVISION_TAG})
+    ENDIF()
+  
     # Set CMake OSX variable to pass down the external project
     set(CMAKE_OSX_EXTERNAL_PROJECT_ARGS)
     if(APPLE)
@@ -34,8 +40,9 @@ IF(${add_project})
       BINARY_DIR ${proj}-build
       PREFIX ${proj}${ep_suffix}
       GIT_REPOSITORY "${git_protocol}://github.com/commontk/QtSOAP.git"
-      GIT_TAG "origin/master"
+      GIT_TAG ${revision_tag}
       CMAKE_GENERATOR ${gen}
+      UPDATE_COMMAND ""
       INSTALL_COMMAND ""
       CMAKE_ARGS
         -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}

+ 8 - 1
CMakeExternals/VTK.cmake

@@ -30,6 +30,12 @@ IF(${add_project} OR CTK_LIB_Scripting/Python/Core_PYTHONQT_USE_VTK)
   SET(VTK_DEPENDS ${proj})
   
   IF(NOT DEFINED VTK_DIR)
+  
+    SET(revision_tag 97b692fa7f2a6906e)
+    IF(${proj}_REVISION_TAG)
+      SET(revision_tag ${${proj}_REVISION_TAG})
+    ENDIF()
+  
     # Set CMake OSX variable to pass down the external project
     set(CMAKE_OSX_EXTERNAL_PROJECT_ARGS)
     if(APPLE)
@@ -45,7 +51,8 @@ IF(${add_project} OR CTK_LIB_Scripting/Python/Core_PYTHONQT_USE_VTK)
       BINARY_DIR ${proj}-build
       PREFIX ${proj}${ep_suffix}
       GIT_REPOSITORY ${git_protocol}://vtk.org/VTK.git
-      GIT_TAG "origin/master"
+      GIT_TAG ${revision_tag}
+      UPDATE_COMMAND ""
       INSTALL_COMMAND ""
       CMAKE_GENERATOR ${gen}
       CMAKE_ARGS

+ 8 - 1
CMakeExternals/ZMQ.cmake

@@ -18,6 +18,12 @@ IF(${add_project})
   SET(ZMQ_DEPENDS ${proj})
   
   IF(NOT DEFINED ZMQ_DIR)
+  
+    SET(revision_tag d2c2f96b49ed3835a47e)
+    IF(${proj}_REVISION_TAG)
+      SET(revision_tag ${${proj}_REVISION_TAG})
+    ENDIF()
+  
     # Set CMake OSX variable to pass down the external project
     set(CMAKE_OSX_EXTERNAL_PROJECT_ARGS)
     if(APPLE)
@@ -33,7 +39,8 @@ IF(${add_project})
       BINARY_DIR ${proj}-build
       PREFIX ${proj}${ep_suffix}
       GIT_REPOSITORY ${git_protocol}://github.com/PatrickCheng/zeromq2.git
-      GIT_TAG "origin/master"
+      GIT_TAG ${revision_tag}
+      UPDATE_COMMAND ""
       INSTALL_COMMAND ""
       CMAKE_GENERATOR ${gen}
       CMAKE_ARGS