50 lines
1.5 KiB
CMake
50 lines
1.5 KiB
CMake
|
|
set(CTEST_SOURCE_DIRECTORY "@CMAKE_SOURCE_DIR@")
|
|
set(CTEST_BINARY_DIRECTORY "@CMAKE_BINARY_DIR@")
|
|
set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
|
set(CTEST_BUILD_NAME "@BUILDNAME@")
|
|
set(CTEST_SITE "@SITE@")
|
|
|
|
set(MODEL Experimental)
|
|
if(${CTEST_SCRIPT_ARG} MATCHES Nightly)
|
|
set(MODEL Nightly)
|
|
elseif(${CTEST_SCRIPT_ARG} MATCHES Continuous)
|
|
set(MODEL Continuous)
|
|
endif()
|
|
|
|
find_program(CTEST_GIT_COMMAND NAMES git)
|
|
set(CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
|
|
|
|
ctest_start(${MODEL} ${CTEST_SOURCE_DIRECTORY} ${CTEST_BINARY_DIRECTORY})
|
|
|
|
ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
|
ctest_submit(PARTS Update Notes)
|
|
|
|
# to get CTEST_PROJECT_SUBPROJECTS definition:
|
|
include("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake")
|
|
|
|
foreach(subproject ${CTEST_PROJECT_SUBPROJECTS})
|
|
message("")
|
|
message("Process ${subproject}")
|
|
|
|
set_property(GLOBAL PROPERTY SubProject ${subproject})
|
|
set_property(GLOBAL PROPERTY Label ${subproject})
|
|
|
|
ctest_configure(BUILD ${CTEST_BINARY_DIRECTORY} SOURCE ${CTEST_SOURCE_DIRECTORY} )
|
|
ctest_submit(PARTS Configure)
|
|
|
|
set(CTEST_BUILD_TARGET "Build${subproject}")
|
|
message("Build ${CTEST_BUILD_TARGET}")
|
|
ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
|
# builds target ${CTEST_BUILD_TARGET}
|
|
ctest_submit(PARTS Build)
|
|
|
|
ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" INCLUDE_LABEL "${subproject}" )
|
|
# runs only tests that have a LABELS property matching "${subproject}"
|
|
|
|
ctest_coverage(BUILD "${CTEST_BINARY_DIRECTORY}" LABELS "${subproject}" )
|
|
|
|
ctest_submit(PARTS Test)
|
|
|
|
endforeach()
|