[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