Browse Source

ENH: Reorganize and add subversion support

Andy Cedilnik 21 years ago
parent
commit
1ca05e219a
2 changed files with 48 additions and 13 deletions
  1. 32 0
      Modules/Dart.cmake
  2. 16 13
      Modules/DartConfiguration.tcl.in

+ 32 - 0
Modules/Dart.cmake

@@ -74,6 +74,36 @@ IF(BUILD_TESTING)
 
   FIND_PROGRAM(CVSCOMMAND cvs )
   SET(CVS_UPDATE_OPTIONS "-d -A -P" CACHE STRING "Options passed to the cvs update command.")
+  FIND_PROGRAM(SVNCOMMAND svn)
+  #SET(SVN_UPDATE_OPTIONS "-d -A -P" CACHE STRING "Options passed to the cvs update command.")
+
+  IF(NOT UPDATE_TYPE)
+    IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CVS")
+      SET(UPDATE_TYPE cvs)
+    ELSE(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CVS")
+      IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn")
+        SET(UPDATE_TYPE svn)
+      ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn")
+    ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CVS")
+  ENDIF(NOT UPDATE_TYPE)
+
+  IF(NOT UPDATE_TYPE)
+    MESSAGE(SEND_ERROR "Cannot determine repository type. Please set UPDATE_TYPE to 'cvs' or 'svn'")
+  ENDIF(NOT UPDATE_TYPE)
+
+  IF(UPDATE_TYPE MATCHES "[Cc][Vv][Ss]")
+    MESSAGE("This is a CVS repository")
+    SET(UPDATE_COMMAND "${CVSCOMMAND}")
+    SET(UPDATE_OPTIONS "${CVS_UPDATE_OPTIONS}")
+  ELSE(UPDATE_TYPE MATCHES "[Cc][Vv][Ss]")
+    IF(UPDATE_TYPE MATCHES "[Ss][Vv][Nn]")
+      MESSAGE("This is a SVN repository")
+      SET(UPDATE_COMMAND "${SVNCOMMAND}")
+      SET(UPDATE_OPTIONS "${SVN_UPDATE_OPTIONS}")
+    ENDIF(UPDATE_TYPE MATCHES "[Ss][Vv][Nn]")
+  ENDIF(UPDATE_TYPE MATCHES "[Cc][Vv][Ss]")
+
+  MESSAGE("Update command: ${UPDATE_COMMAND}")
 
   SET(DART_TESTING_TIMEOUT 1500 CACHE STRING "Time alloted for a test before Dart will kill the test.")
 
@@ -140,7 +170,9 @@ IF(BUILD_TESTING)
     COMPRESSIONCOMMAND
     COVERAGE_COMMAND
     CVSCOMMAND
+    SVNCOMMAND
     CVS_UPDATE_OPTIONS
+    SVN_UPDATE_OPTIONS
     DART_BUILD_ERROR_REPORT_LIMIT     
     DART_BUILD_WARNING_REPORT_LIMIT 
     DART_TESTING_TIMEOUT

+ 16 - 13
Modules/DartConfiguration.tcl.in

@@ -7,12 +7,6 @@
 SourceDirectory: @PROJECT_SOURCE_DIR@
 BuildDirectory: @PROJECT_BINARY_DIR@
 
-# Dart options
-
-# CVS options
-# Default is "-d -P -A"
-CVSUpdateOptions: @CVS_UPDATE_OPTIONS@
-
 # Site is something like machine.domain, i.e. pragmatic.crd
 Site: @SITE@
 
@@ -27,16 +21,30 @@ DropSitePassword: @DROP_SITE_PASSWORD@
 DropSiteMode: @DROP_SITE_MODE@
 DropMethod: @DROP_METHOD@
 TriggerSite: @TRIGGER_SITE@
+ScpCommand: @SCPCOMMAND@
 
 # Dashboard start time
 NightlyStartTime: @NIGHTLY_START_TIME@
 
 # Commands for the build/test/submit cycle
 ConfigureCommand: "@CMAKE_COMMAND@" "@PROJECT_SOURCE_DIR@"
-CMakeCommand: @CMAKE_COMMAND@
 MakeCommand: @MAKECOMMAND@
+
+# CVS options
+# Default is "-d -P -A"
 CVSCommand: @CVSCOMMAND@
-ScpCommand: @SCPCOMMAND@
+CVSUpdateOptions: @CVS_UPDATE_OPTIONS@
+
+# Subversion options
+SVNCommand: @SVNCOMMAND@
+SVNUpdateOptions: @SVN_UPDATE_OPTIONS@
+
+# Generic update command
+UpdateCommand: @UPDATE_COMMAND@
+UpdateOptions: @UPDATE_OPTIONS@
+UpdateType: @UPDATE_TYPE@
+
+# Dynamic analisys and coverage
 PurifyCommand: @PURIFYCOMMAND@
 ValgrindCommand: @VALGRIND_COMMAND@
 ValgrindCommandOptions: @VALGRIND_COMMAND_OPTIONS@
@@ -44,11 +52,6 @@ MemoryCheckCommand: @MEMORYCHECK_COMMAND@
 MemoryCheckCommandOptions: @MEMORYCHECK_COMMAND_OPTIONS@
 MemoryCheckSuppressionFile: @MEMORYCHECK_SUPPRESSIONS_FILE@
 CoverageCommand: @COVERAGE_COMMAND@
-# Compression commands
-GunzipCommand: @GUNZIPCOMMAND@
-CompressionCommand: @COMPRESSIONCOMMAND@
-CompressionType: @COMPRESSIONCOMMAND@
-CompressSubmission: @COMPRESS_SUBMISSION@
 
 # Testing options
 # TimeOut is the amount of time in seconds to wait for processes