[Cmake-commits] [cmake-commits] king committed CMakeLists.txt 1.87 1.88 CTestUpdateCVS.cmake.in 1.5 1.6

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Jun 22 16:26:05 EDT 2009


Update of /cvsroot/CMake/CMake/Tests
In directory public:/mounts/ram/cvs-serv4629/Tests

Modified Files:
	CMakeLists.txt CTestUpdateCVS.cmake.in 
Log Message:
ENH: Auto-enable CTest.UpdateCVS test on Windows

The test needs to create a cvs repository with 'cvs init', but the CVSNT
client on Windows needs 'cvs init -n' to avoid administrator access.
Previously we required users to explicitly enable CTEST_TEST_UPDATE_CVS
to activate the test on Windows.

This teaches the test to use the '-n' option when necessary.  Now we can
enable the test in all cases except when trying to use a cygwin cvs.exe
without cygwin paths.


Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Tests/CMakeLists.txt,v
retrieving revision 1.87
retrieving revision 1.88
diff -C 2 -d -r1.87 -r1.88
*** CMakeLists.txt	18 May 2009 14:34:35 -0000	1.87
--- CMakeLists.txt	22 Jun 2009 20:25:59 -0000	1.88
***************
*** 898,920 ****
  
      # Test CTest Update with CVS
!     IF(UNIX)
!       # The test is expected to work by default on UNIX-like systems.
!       SET(CTEST_TEST_UPDATE_CVS 1)
!     ELSE(UNIX)
!       # Special CVS configuration is needed for test to pass on Windows.
!       OPTION(CTEST_TEST_UPDATE_CVS
!         "Enable CTest.UpdateCVS test.  Requires extra CVS setup on windows."
!         OFF)
!       MARK_AS_ADVANCED(CTEST_TEST_UPDATE_CVS)
!     ENDIF(UNIX)
      IF(CTEST_TEST_UPDATE_CVS)
-       IF(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
-         FIND_PACKAGE(CVS QUIET)
-       ELSE(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
-         FIND_PROGRAM(CVS_EXECUTABLE NAMES cvs)
-         SET(CVS_FOUND ${CVS_EXECUTABLE})
-       ENDIF(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
-     ENDIF(CTEST_TEST_UPDATE_CVS)
-     IF(CTEST_TEST_UPDATE_CVS AND CVS_FOUND)
        SET(CTestUpdateCVS_DIR "CTest UpdateCVS")
        CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestUpdateCVS.cmake.in"
--- 898,915 ----
  
      # Test CTest Update with CVS
!     IF(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
!       FIND_PACKAGE(CVS QUIET)
!     ELSE(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
!       FIND_PROGRAM(CVS_EXECUTABLE NAMES cvs)
!       SET(CVS_FOUND ${CVS_EXECUTABLE})
!     ENDIF(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
!     SET(CTEST_TEST_UPDATE_CVS ${CVS_FOUND})
!     IF(CTEST_TEST_UPDATE_CVS AND NOT UNIX)
!       IF("${CVS_EXECUTABLE}" MATCHES "cygwin")
!         MESSAGE(STATUS "No CTest.UpdateCVS test with cygwin cvs.exe outside cygwin!")
!         SET(CTEST_TEST_UPDATE_CVS 0)
!       ENDIF("${CVS_EXECUTABLE}" MATCHES "cygwin")
!     ENDIF(CTEST_TEST_UPDATE_CVS AND NOT UNIX)
      IF(CTEST_TEST_UPDATE_CVS)
        SET(CTestUpdateCVS_DIR "CTest UpdateCVS")
        CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestUpdateCVS.cmake.in"
***************
*** 924,928 ****
          )
        LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateCVS_DIR}")
!     ENDIF(CTEST_TEST_UPDATE_CVS AND CVS_FOUND)
  
      # Test CTest Update with BZR
--- 919,923 ----
          )
        LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateCVS_DIR}")
!     ENDIF(CTEST_TEST_UPDATE_CVS)
  
      # Test CTest Update with BZR

Index: CTestUpdateCVS.cmake.in
===================================================================
RCS file: /cvsroot/CMake/CMake/Tests/CTestUpdateCVS.cmake.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -C 2 -d -r1.5 -r1.6
*** CTestUpdateCVS.cmake.in	8 Apr 2009 13:22:07 -0000	1.5
--- CTestUpdateCVS.cmake.in	22 Jun 2009 20:26:02 -0000	1.6
***************
*** 19,22 ****
--- 19,35 ----
  set(CVSCMD ${CVS} -d${REPO})
  
+ # CVSNT requires an extra option to 'cvs init'.
+ set(CVS_INIT_OPT)
+ execute_process(
+   COMMAND ${CVS} --version
+   RESULT_VARIABLE RESULT
+   OUTPUT_VARIABLE OUTPUT
+   ERROR_VARIABLE OUTPUT
+   )
+ if("${RESULT}" STREQUAL "0" AND "${OUTPUT}" MATCHES "\\(CVSNT\\)")
+   set(CVS_INIT_OPT -n)
+   message(" cvs init needs -n")
+ endif()
+ 
  #-----------------------------------------------------------------------------
  # Initialize the testing directory.
***************
*** 29,33 ****
  file(MAKE_DIRECTORY ${TOP}/repo)
  run_child(
!   COMMAND ${CVSCMD} init
    )
  
--- 42,46 ----
  file(MAKE_DIRECTORY ${TOP}/repo)
  run_child(
!   COMMAND ${CVSCMD} init ${CVS_INIT_OPT}
    )
  



More information about the Cmake-commits mailing list