From 1ca05e219a3a1962cfcc365d45363fce1e366c70 Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Wed, 16 Feb 2005 13:30:17 -0500 Subject: [PATCH] ENH: Reorganize and add subversion support --- Modules/Dart.cmake | 32 ++++++++++++++++++++++++++++++++ Modules/DartConfiguration.tcl.in | 29 ++++++++++++++++------------- 2 files changed, 48 insertions(+), 13 deletions(-) diff --git a/Modules/Dart.cmake b/Modules/Dart.cmake index bf54a41fa..63b4d63b3 100644 --- a/Modules/Dart.cmake +++ b/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 diff --git a/Modules/DartConfiguration.tcl.in b/Modules/DartConfiguration.tcl.in index 08ab4dc8c..daf8b7985 100644 --- a/Modules/DartConfiguration.tcl.in +++ b/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