Skip to content

Instantly share code, notes, and snippets.

@amadio
Created August 14, 2020 21:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amadio/7bc0116c987d5d80e1591ae97c50eb0c to your computer and use it in GitHub Desktop.
Save amadio/7bc0116c987d5d80e1591ae97c50eb0c to your computer and use it in GitHub Desktop.
Simple CTest/CDash script template
set(CTEST_PROJECT_NAME "MyProject")
set(CTEST_BUILD_NAME "MyProject Build")
set(ENV{LANG} "C")
set(ENV{LC_ALL} "C")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "cdash.example.com")
set(CTEST_DROP_LOCATION "/submit.php?project=${CTEST_PROJECT_NAME}")
set(CTEST_DROP_SITE_CDASH TRUE)
set(CTEST_SOURCE_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
set(CTEST_BINARY_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/build)
set(CTEST_USE_LAUNCHERS 1)
if(NOT DEFINED CTEST_SITE)
site_name(CTEST_SITE)
endif()
if(NOT DEFINED CTEST_CONFIGURATION_TYPE)
set(CTEST_CONFIGURATION_TYPE RelWithDebInfo)
endif()
if(NOT DEFINED ENV{CTEST_PARALLEL_LEVEL})
cmake_host_system_information(RESULT CTEST_PARALLEL_LEVEL QUERY NUMBER_OF_PHYSICAL_CORES)
endif()
if(DEFINED ENV{CMAKE_GENERATOR})
set(CTEST_CMAKE_GENERATOR $ENV{CMAKE_GENERATOR})
else()
execute_process(COMMAND ${CMAKE_COMMAND} --system-information
OUTPUT_VARIABLE CMAKE_SYSTEM_INFORMATION ERROR_VARIABLE ERROR)
if(ERROR)
message(FATAL_ERROR "Could not detect default CMake generator")
endif()
string(REGEX REPLACE ".+CMAKE_GENERATOR \"([-0-9A-Za-z ]+)\".*$" "\\1"
CTEST_CMAKE_GENERATOR "${CMAKE_SYSTEM_INFORMATION}")
endif()
list(APPEND CTEST_NOTES_FILES ${CTEST_BINARY_DIRECTORY}/CMakeCache.txt)
set(CTEST_BUILD_OPTIONS -DBUILD_TESTING=ON $ENV{CTEST_BUILD_OPTIONS})
ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
ctest_start(Experimental)
ctest_configure(OPTIONS "${CTEST_BUILD_OPTIONS}")
ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
ctest_build()
ctest_test()
ctest_submit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment