summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/CMakeLists.txt')
-rw-r--r--Tests/CMakeLists.txt245
1 files changed, 118 insertions, 127 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index fa6cd96..8ebe5ed 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -294,26 +294,6 @@ if(BUILD_TESTING)
mark_as_advanced(CTEST_TEST_CTEST)
endif ()
- # Should tests that use CVS be run?
- #
- set(do_cvs_tests 0)
-
- if(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
- find_package(CVS QUIET)
- else()
- find_program(CVS_EXECUTABLE NAMES cvs)
- endif()
-
- if(CVS_EXECUTABLE)
- set(do_cvs_tests 1)
- endif()
-
- if(do_cvs_tests AND NOT UNIX)
- if("${CVS_EXECUTABLE}" MATCHES "cygwin")
- set(do_cvs_tests 0)
- endif()
- endif()
-
# Should CPack tests be run? By default, yes, but...
#
# Disable packaging test on Apple 10.3 and below. PackageMaker starts
@@ -1574,6 +1554,12 @@ if(BUILD_TESTING)
ADD_TEST_MACRO(FindMatlab.targets_checks ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>)
endif()
+ set(ExternalProject_BUILD_OPTIONS "")
+ foreach(vcs CVS SVN GIT HG)
+ if(DEFINED CMake_TEST_ExternalProject_${vcs})
+ list(APPEND ExternalProject_BUILD_OPTIONS -DEP_TEST_${vcs}=${CMake_TEST_ExternalProject_${vcs}})
+ endif()
+ endforeach()
add_test(ExternalProject ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/ExternalProject"
@@ -1582,6 +1568,7 @@ if(BUILD_TESTING)
--build-project ExternalProjectTest
--build-exe-dir "${CMake_BINARY_DIR}/Tests/ExternalProject"
--force-new-ctest-process
+ --build-options ${ExternalProject_BUILD_OPTIONS}
--test-command ${CMAKE_CTEST_COMMAND} -V
)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ExternalProject")
@@ -2562,9 +2549,8 @@ if(BUILD_TESTING)
# -S "${CMake_BINARY_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake"
# )
- set(CTEST_TEST_UPDATE 1)
- if(CTEST_TEST_UPDATE)
- # Test CTest Update with Subversion
+ # Test CTest Update with Subversion
+ if(NOT DEFINED CMake_TEST_CTestUpdate_SVN OR CMake_TEST_CTestUpdate_SVN)
find_package(Subversion QUIET)
if(Subversion_FOUND)
get_filename_component(_Subversion_BIN_DIR
@@ -2577,129 +2563,134 @@ if(BUILD_TESTING)
set(Subversion_FOUND FALSE)
endif()
endif()
- if(Subversion_FOUND)
- set(CTestUpdateSVN_DIR "CTest UpdateSVN")
- configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateSVN.cmake.in"
- "${CMake_BINARY_DIR}/Tests/CTestUpdateSVN.cmake" @ONLY)
- add_test(CTest.UpdateSVN ${CMAKE_CMAKE_COMMAND}
- -P "${CMake_BINARY_DIR}/Tests/CTestUpdateSVN.cmake"
- )
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateSVN_DIR}")
+ endif()
+ if(NOT DEFINED CMake_TEST_CTestUpdate_SVN AND Subversion_FOUND)
+ set(CMake_TEST_CTestUpdate_SVN 1)
+ endif()
+ if(CMake_TEST_CTestUpdate_SVN)
+ if(NOT Subversion_FOUND)
+ message(FATAL_ERROR "CMake_TEST_CTestUpdate_SVN enabled but Subversion is not found.")
endif()
+ set(CTestUpdateSVN_DIR "CTest UpdateSVN")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateSVN.cmake.in"
+ "${CMake_BINARY_DIR}/Tests/CTestUpdateSVN.cmake" @ONLY)
+ add_test(CTest.UpdateSVN ${CMAKE_CMAKE_COMMAND}
+ -P "${CMake_BINARY_DIR}/Tests/CTestUpdateSVN.cmake"
+ )
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateSVN_DIR}")
+ endif()
- # Test CTest Update with CVS
- if(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
- find_package(CVS QUIET)
- else()
- find_program(CVS_EXECUTABLE NAMES cvs)
- set(CVS_FOUND ${CVS_EXECUTABLE})
- endif()
- 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()
- endif()
- if(CTEST_TEST_UPDATE_CVS)
- set(CTestUpdateCVS_DIR "CTest UpdateCVS")
- configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateCVS.cmake.in"
- "${CMake_BINARY_DIR}/Tests/CTestUpdateCVS.cmake" @ONLY)
- add_test(CTest.UpdateCVS ${CMAKE_CMAKE_COMMAND}
- -P "${CMake_BINARY_DIR}/Tests/CTestUpdateCVS.cmake"
- )
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateCVS_DIR}")
+ # Test CTest Update with CVS
+ if(NOT DEFINED CMake_TEST_CTestUpdate_CVS OR CMake_TEST_CTestUpdate_CVS)
+ find_program(CVS_EXECUTABLE NAMES cvs)
+ mark_as_advanced(CVS_EXECUTABLE)
+ endif()
+ if(NOT DEFINED CMake_TEST_CTestUpdate_CVS AND CVS_EXECUTABLE
+ AND (UNIX OR NOT "${CVS_EXECUTABLE}" MATCHES "cygwin"))
+ set(CMake_TEST_CTestUpdate_CVS 1)
+ endif()
+ if(CMake_TEST_CTestUpdate_CVS)
+ if(NOT CVS_EXECUTABLE)
+ message(FATAL_ERROR "CMake_TEST_CTestUpdate_CVS enabled but CVS_EXECUTABLE is not found.")
endif()
+ set(CTestUpdateCVS_DIR "CTest UpdateCVS")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateCVS.cmake.in"
+ "${CMake_BINARY_DIR}/Tests/CTestUpdateCVS.cmake" @ONLY)
+ add_test(CTest.UpdateCVS ${CMAKE_CMAKE_COMMAND}
+ -P "${CMake_BINARY_DIR}/Tests/CTestUpdateCVS.cmake"
+ )
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateCVS_DIR}")
+ endif()
- # Test CTest Update with BZR
+ # Test CTest Update with BZR
+ if(CMake_TEST_CTestUpdate_BZR)
find_program(BZR_EXECUTABLE NAMES bzr)
mark_as_advanced(BZR_EXECUTABLE)
- set(CTEST_TEST_UPDATE_BZR 0)
- if(BZR_EXECUTABLE)
- if(NOT "${BZR_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- set(CTEST_TEST_UPDATE_BZR 1)
- endif()
- endif()
- if(CTEST_TEST_UPDATE_BZR)
- # Check if xmloutput plugin is there
- execute_process(COMMAND ${BZR_EXECUTABLE} xmlplugins RESULT_VARIABLE xmlplugres
- OUTPUT_QUIET ERROR_QUIET)
- if( NOT ${xmlplugres} )
- set(CTestUpdateBZR_DIR "CTest UpdateBZR")
- configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
- "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR.cmake" @ONLY)
- add_test(CTest.UpdateBZR ${CMAKE_CMAKE_COMMAND}
- -P "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR.cmake"
- )
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}")
- set(CTestUpdateBZR_DIR "CTest UpdateBZR_CLocale")
- configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
- "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR_CLocale.cmake" @ONLY)
- add_test(CTest.UpdateBZR.CLocale ${CMAKE_CMAKE_COMMAND}
- -P "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR_CLocale.cmake"
- )
- set_tests_properties(CTest.UpdateBZR.CLocale PROPERTIES ENVIRONMENT LC_ALL=C)
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}")
- endif()
- endif()
+ if(NOT BZR_EXECUTABLE)
+ message(FATAL_ERROR "CMake_TEST_CTestUpdate_BZR enabled but BZR_EXECUTABLE is not found.")
+ endif()
+ set(CTestUpdateBZR_DIR "CTest UpdateBZR")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
+ "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR.cmake" @ONLY)
+ add_test(CTest.UpdateBZR ${CMAKE_CMAKE_COMMAND}
+ -P "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR.cmake"
+ )
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}")
+ set(CTestUpdateBZR_DIR "CTest UpdateBZR_CLocale")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
+ "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR_CLocale.cmake" @ONLY)
+ add_test(CTest.UpdateBZR.CLocale ${CMAKE_CMAKE_COMMAND}
+ -P "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR_CLocale.cmake"
+ )
+ set_tests_properties(CTest.UpdateBZR.CLocale PROPERTIES ENVIRONMENT LC_ALL=C)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}")
+ endif()
- # Test CTest Update with GIT
+ # Test CTest Update with GIT
+ if(NOT DEFINED CMake_TEST_CTestUpdate_GIT OR CMake_TEST_CTestUpdate_GIT)
find_program(GIT_EXECUTABLE NAMES git)
mark_as_advanced(GIT_EXECUTABLE)
- set(CTEST_TEST_UPDATE_GIT 0)
- if(GIT_EXECUTABLE)
- if(NOT "${GIT_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- set(CTEST_TEST_UPDATE_GIT 1)
- endif()
- endif()
- if(CTEST_TEST_UPDATE_GIT)
- set(CTestUpdateGIT_DIR "CTest UpdateGIT")
- configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateGIT.cmake.in"
- "${CMake_BINARY_DIR}/Tests/CTestUpdateGIT.cmake" @ONLY)
- add_test(CTest.UpdateGIT ${CMAKE_CMAKE_COMMAND}
- -P "${CMake_BINARY_DIR}/Tests/CTestUpdateGIT.cmake"
- )
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateGIT_DIR}")
+ endif()
+ if(NOT DEFINED CMake_TEST_CTestUpdate_GIT AND GIT_EXECUTABLE
+ AND (UNIX OR NOT "${GIT_EXECUTABLE}" MATCHES "cygwin"))
+ set(CMake_TEST_CTestUpdate_GIT 1)
+ endif()
+ if(CMake_TEST_CTestUpdate_GIT)
+ if(NOT GIT_EXECUTABLE)
+ message(FATAL_ERROR "CMake_TEST_CTestUpdate_GIT enabled but GIT_EXECUTABLE is not found.")
endif()
+ set(CTestUpdateGIT_DIR "CTest UpdateGIT")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateGIT.cmake.in"
+ "${CMake_BINARY_DIR}/Tests/CTestUpdateGIT.cmake" @ONLY)
+ add_test(CTest.UpdateGIT ${CMAKE_CMAKE_COMMAND}
+ -P "${CMake_BINARY_DIR}/Tests/CTestUpdateGIT.cmake"
+ )
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateGIT_DIR}")
+ endif()
- # Test CTest Update with HG
+ # Test CTest Update with HG
+ if(NOT DEFINED CMake_TEST_CTestUpdate_HG OR CMake_TEST_CTestUpdate_HG)
find_program(HG_EXECUTABLE NAMES hg)
mark_as_advanced(HG_EXECUTABLE)
- set(CTEST_TEST_UPDATE_HG 0)
- if(HG_EXECUTABLE)
- if(NOT "${HG_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- set(CTEST_TEST_UPDATE_HG 1)
- endif()
- endif()
- if(CTEST_TEST_UPDATE_HG)
- set(CTestUpdateHG_DIR "CTest UpdateHG")
- configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateHG.cmake.in"
- "${CMake_BINARY_DIR}/Tests/CTestUpdateHG.cmake" @ONLY)
- add_test(CTest.UpdateHG ${CMAKE_CMAKE_COMMAND}
- -P "${CMake_BINARY_DIR}/Tests/CTestUpdateHG.cmake"
- )
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateHG_DIR}")
+ endif()
+ if(NOT DEFINED CMake_TEST_CTestUpdate_HG AND HG_EXECUTABLE
+ AND (UNIX OR NOT "${HG_EXECUTABLE}" MATCHES "cygwin"))
+ set(CMake_TEST_CTestUpdate_HG 1)
+ endif()
+ if(CMake_TEST_CTestUpdate_HG)
+ if(NOT HG_EXECUTABLE)
+ message(FATAL_ERROR "CMake_TEST_CTestUpdate_HG enabled but HG_EXECUTABLE is not found.")
endif()
+ set(CTestUpdateHG_DIR "CTest UpdateHG")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateHG.cmake.in"
+ "${CMake_BINARY_DIR}/Tests/CTestUpdateHG.cmake" @ONLY)
+ add_test(CTest.UpdateHG ${CMAKE_CMAKE_COMMAND}
+ -P "${CMake_BINARY_DIR}/Tests/CTestUpdateHG.cmake"
+ )
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateHG_DIR}")
+ endif()
- # Test CTest Update with P4
+ # Test CTest Update with P4
+ if(NOT DEFINED CMake_TEST_CTestUpdate_P4 OR CMake_TEST_CTestUpdate_P4)
find_program(P4_EXECUTABLE NAMES p4)
find_program(P4D_EXECUTABLE NAMES p4d)
mark_as_advanced(P4_EXECUTABLE P4D_EXECUTABLE)
- set(CTEST_TEST_UPDATE_P4 0)
- if(P4_EXECUTABLE AND P4D_EXECUTABLE)
- if(NOT "${P4_EXECUTABLE};${P4D_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- set(CTEST_TEST_UPDATE_P4 1)
- endif()
- endif()
- if(CTEST_TEST_UPDATE_P4)
- set(CTestUpdateP4_DIR "CTest UpdateP4")
- configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateP4.cmake.in"
- "${CMake_BINARY_DIR}/Tests/CTestUpdateP4.cmake" @ONLY)
- add_test(CTest.UpdateP4 ${CMAKE_CMAKE_COMMAND}
- -P "${CMake_BINARY_DIR}/Tests/CTestUpdateP4.cmake"
- )
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateP4_DIR}")
+ endif()
+ if(NOT DEFINED CMake_TEST_CTestUpdate_P4 AND P4_EXECUTABLE AND P4D_EXECUTABLE
+ AND (UNIX OR NOT "${P4_EXECUTABLE};${P4D_EXECUTABLE}" MATCHES "cygwin"))
+ set(CMake_TEST_CTestUpdate_P4 1)
+ endif()
+ if(CMake_TEST_CTestUpdate_P4)
+ if(NOT P4_EXECUTABLE OR NOT P4D_EXECUTABLE)
+ message(FATAL_ERROR "CMake_TEST_CTestUpdate_HG enabled but P4_EXECUTABLE and P4D_EXECUTABLE are not both not found.")
endif()
+ set(CTestUpdateP4_DIR "CTest UpdateP4")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateP4.cmake.in"
+ "${CMake_BINARY_DIR}/Tests/CTestUpdateP4.cmake" @ONLY)
+ add_test(CTest.UpdateP4 ${CMAKE_CMAKE_COMMAND}
+ -P "${CMake_BINARY_DIR}/Tests/CTestUpdateP4.cmake"
+ )
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateP4_DIR}")
endif()
configure_file(