diff --git a/Modules/CTest.cmake b/Modules/CTest.cmake index 76f256877..7b737fa8d 100644 --- a/Modules/CTest.cmake +++ b/Modules/CTest.cmake @@ -18,19 +18,26 @@ IF(BUILD_TESTING) ENDIF("${val}" MATCHES "^$") ENDMACRO(SET_IF_SET) + MACRO(SET_IF_SET_AND_NOT_SET var val) + IF("${val}" MATCHES "^$") + ELSE("${val}" MATCHES "^$") + SET_IF_NOT_SET("${var}" "${val}") + ENDIF("${val}" MATCHES "^$") + ENDMACRO(SET_IF_SET_AND_NOT_SET) + # Make sure testing is enabled ENABLE_TESTING() IF(EXISTS "${PROJECT_SOURCE_DIR}/CTestConfig.cmake") INCLUDE("${PROJECT_SOURCE_DIR}/CTestConfig.cmake") - SET_IF_SET(NIGHTLY_START_TIME "${CTEST_NIGHTLY_START_TIME}") - SET_IF_SET(DROP_METHOD "${CTEST_DROP_METHOD}") - SET_IF_SET(DROP_SITE "${CTEST_DROP_SITE}") - SET_IF_SET(DROP_SITE_USER "${CTEST_DROP_SITE_USER}") - SET_IF_SET(DROP_SITE_PASSWORD "${CTEST_DROP_SITE_PASWORD}") - SET_IF_SET(DROP_SITE_MODE "${CTEST_DROP_SITE_MODE}") - SET_IF_SET(DROP_LOCATION "${CTEST_DROP_LOCATION}") - SET_IF_SET(TRIGGER_SITE "${CTEST_TRIGGER_SITE}") + SET_IF_SET_AND_NOT_SET(NIGHTLY_START_TIME "${CTEST_NIGHTLY_START_TIME}") + SET_IF_SET_AND_NOT_SET(DROP_METHOD "${CTEST_DROP_METHOD}") + SET_IF_SET_AND_NOT_SET(DROP_SITE "${CTEST_DROP_SITE}") + SET_IF_SET_AND_NOT_SET(DROP_SITE_USER "${CTEST_DROP_SITE_USER}") + SET_IF_SET_AND_NOT_SET(DROP_SITE_PASSWORD "${CTEST_DROP_SITE_PASWORD}") + SET_IF_SET_AND_NOT_SET(DROP_SITE_MODE "${CTEST_DROP_SITE_MODE}") + SET_IF_SET_AND_NOT_SET(DROP_LOCATION "${CTEST_DROP_LOCATION}") + SET_IF_SET_AND_NOT_SET(TRIGGER_SITE "${CTEST_TRIGGER_SITE}") ENDIF(EXISTS "${PROJECT_SOURCE_DIR}/CTestConfig.cmake") # the project can have a DartConfig.cmake file