IF(NOT RUN_FROM_CTEST_OR_DART) MESSAGE(FATAL_ERROR "Do not incldue CTestTargets.cmake directly") ENDIF(NOT RUN_FROM_CTEST_OR_DART) # make directories in the binary tree FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/Temporary) GET_FILENAME_COMPONENT(CMAKE_HOST_PATH ${CMAKE_COMMAND} PATH) SET(CMAKE_TARGET_PATH ${EXECUTABLE_OUTPUT_PATH}) FIND_PROGRAM(CMAKE_CTEST_COMMAND ctest ${CMAKE_HOST_PATH} ${CMAKE_TARGET_PATH}) MARK_AS_ADVANCED(CMAKE_CTEST_COMMAND) # Use CTest # configure files IF(CTEST_NEW_FORMAT) CONFIGURE_FILE( ${CMAKE_ROOT}/Modules/DartConfiguration.tcl.in ${PROJECT_BINARY_DIR}/CTestConfiguration.ini ) ELSE(CTEST_NEW_FORMAT) CONFIGURE_FILE( ${CMAKE_ROOT}/Modules/DartConfiguration.tcl.in ${PROJECT_BINARY_DIR}/DartConfiguration.tcl ) ENDIF(CTEST_NEW_FORMAT) # # Section 3: # # Custom targets to perform dashboard builds and submissions. # These should NOT need to be modified from project to project. # # add testing targets IF(${CMAKE_MAKE_PROGRAM} MATCHES make) FOREACH(mode Experimental Nightly Continuous NightlyMemoryCheck) ADD_CUSTOM_TARGET(${mode} ${CMAKE_CTEST_COMMAND} -D ${mode}) ENDFOREACH(mode) ELSE(${CMAKE_MAKE_PROGRAM} MATCHES make) # for IDE only add them once for nested projects IF (NOT DART_COMMON_TARGETS_ADDED) FOREACH(mode Experimental Nightly Continuous NightlyMemoryCheck) ADD_CUSTOM_TARGET(${mode} ${CMAKE_CTEST_COMMAND} -D ${mode}) ENDFOREACH(mode) SET (DART_COMMON_TARGETS_ADDED 1) ENDIF (NOT DART_COMMON_TARGETS_ADDED) ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES make) # for non IDE based builds nmake and make # add all these extra targets IF(${CMAKE_MAKE_PROGRAM} MATCHES make) # Make targets for Experimental builds FOREACH(mode Nightly Experimental Continuous) FOREACH(testtype Start Update Configure Build Test Coverage MemCheck Submit) # missing purify ADD_CUSTOM_TARGET(${mode}${testtype} ${CMAKE_CTEST_COMMAND} -D ${mode}${testtype}) ENDFOREACH(testtype) ENDFOREACH(mode) ENDIF (${CMAKE_MAKE_PROGRAM} MATCHES make)