From 44878e7b11f72b0e5b8d9f29ef055b42e74f8db3 Mon Sep 17 00:00:00 2001 From: David Cole Date: Wed, 1 Jul 2009 13:48:38 -0400 Subject: BUG: Exclude svn portions of ExternalProject test when: svn client version is less than 1.2 or cygwin/non-cygwin mismatch detected -- avoids ExternalProject test failures on dash5 and dash22-cygwin. Also, non-code change: allow cvslock through Windows firewall to prevent ExternalProject test failure on dash1vista32. --- Tests/ExternalProject/CMakeLists.txt | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Tests/ExternalProject/CMakeLists.txt b/Tests/ExternalProject/CMakeLists.txt index e13b399..06d0679 100644 --- a/Tests/ExternalProject/CMakeLists.txt +++ b/Tests/ExternalProject/CMakeLists.txt @@ -201,6 +201,32 @@ if(Subversion_SVN_EXECUTABLE) set(do_svn_tests 1) endif() +# Only do svn tests with svn >= version 1.2 +# +if(do_svn_tests) + execute_process(COMMAND ${Subversion_SVN_EXECUTABLE} --version + OUTPUT_VARIABLE Subversion_VERSION_SVN + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "^(.*\n)?svn, version ([.0-9]+).*" + "\\2" Subversion_VERSION_SVN "${Subversion_VERSION_SVN}") + message(STATUS "Subversion_VERSION_SVN='${Subversion_VERSION_SVN}'") + + if(Subversion_VERSION_SVN VERSION_LESS 1.2) + message(STATUS "No ExternalProject svn tests with svn client less than version 1.2") + set(do_svn_tests 0) + endif() +endif() + +# Only do svn tests in cygwin/cygwin or not-cygwin/not-cygwin arrangements: +# +if(do_svn_tests) + if(CMAKE_CURRENT_BINARY_DIR MATCHES "cygdrive/" AND + NOT "${Subversion_SVN_EXECUTABLE}" MATCHES "cygwin") + message(STATUS "No ExternalProject svn tests with non-cygwin svn client in a /cygdrive based build") + set(do_svn_tests 0) + endif() +endif() + if(do_svn_tests) # Unzip/untar the SVN repository in our source folder so that other # projects below may use it to test SVN args of ep_add -- cgit v0.12