Select Git revision
Forked from
gmsh / gmsh
Source project has a limited visibility.
gmsh.ctest 3.91 KiB
# Gmsh - Copyright (C) 1997-2016 C. Geuzaine, J.-F. Remacle
#
# See the LICENSE.txt file for license information. Please report all
# bugs and problems to the public mailing list <gmsh@onelab.info>.
# this is the common ctest script used by all gmsh nightly (and experimental)
# builds, on all architectures
set(CTEST_SITE "ace36.montefiore")
# custom the drop site
set(CUSTOM_DROP_SITE "onelab.info")
set(CUSTOM_DROP_LOCATION "/CDash/submit.php?project=Gmsh")
set(CUSTOM_DROP_PROJECT "Gmsh")
find_program(CTEST_SVN_COMMAND NAMES svn)
find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
if(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
set(CTEST_BUILD_CONFIGURATION "Debug")
else(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
set(CTEST_BUILD_CONFIGURATION "RelWithDebInfo")
endif(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
set(CTEST_SOURCE_DIRECTORY "$ENV{HOME}/src/gmsh")
set(CTEST_SVN_REPOS https://onelab.info/svn/gmsh/trunk)
if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
set(CTEST_CHECKOUT_COMMAND
"${CTEST_SVN_COMMAND} co ${CTEST_SVN_REPOS} ${CTEST_SOURCE_DIRECTORY}")
endif(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
set(CTEST_UPDATE_COMMAND "${CTEST_SVN_COMMAND}")
set(CTEST_CONFIGURE_COMMAND
"${CTEST_CMAKE_COMMAND} -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION}")
set(CTEST_CONFIGURE_COMMAND
"${CTEST_CONFIGURE_COMMAND} \"-G${CTEST_CMAKE_GENERATOR}\"")
set(CTEST_CONFIGURE_COMMAND
"${CTEST_CONFIGURE_COMMAND} ${CTEST_BUILD_OPTIONS} -DENABLE_TETGEN=0")
if(CTEST_BUILD_OPTIONS_QUOTED)
set(CTEST_CONFIGURE_COMMAND
"${CTEST_CONFIGURE_COMMAND} \"${CTEST_BUILD_OPTIONS_QUOTED}\"")
endif(CTEST_BUILD_OPTIONS_QUOTED)
if(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
set(CTEST_CONFIGURE_COMMAND
"${CTEST_CONFIGURE_COMMAND} \"-DCMAKE_CXX_FLAGS=-g -O0 -fprofile-arcs -ftest-coverage\"")
set(CTEST_CONFIGURE_COMMAND
"${CTEST_CONFIGURE_COMMAND} \"-DCMAKE_C_FLAGS=-g -O0 -fprofile-arcs -ftest-coverage\"")
set(CTEST_CONFIGURE_COMMAND
"${CTEST_CONFIGURE_COMMAND} \"-DCMAKE_EXE_LINKER_FLAGS=-fprofile-arcs -ftest-coverage\"")
endif(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} \"${CTEST_SOURCE_DIRECTORY}\"")
# make sure everybody outputs messages in english
set($ENV{LC_MESSAGES} "en_US")
# select Experimental dashboard if none is selected
if(NOT CDASH_MODEL)
set(CDASH_MODEL "Experimental")
endif(NOT CDASH_MODEL)
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
ctest_start(${CDASH_MODEL})
# update from SVN only for nightly builds
if(CDASH_MODEL MATCHES "Nightly")
ctest_update()
endif(CDASH_MODEL MATCHES "Nightly")
ctest_configure()
ctest_build(TARGET html)
ctest_build(TARGET package NUMBER_ERRORS ERR)
set(ENV{GMSH_BUILD_ERRORS} ${ERR})
if(WITH_TEST)
ctest_test()
endif(WITH_TEST)
if(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
ctest_coverage()
endif(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
if(WITH_MEMCHECK AND CTEST_MEMORYCHECK_COMMAND)
ctest_memcheck()
endif(WITH_MEMCHECK AND CTEST_MEMORYCHECK_COMMAND)
ctest_submit()
macro(upload_package WEB ARCH EXTRA EXT1 EXT2)
if($ENV{GMSH_BUILD_ERRORS} GREATER 0)
message("Build reported $ENV{GMSH_BUILD_ERRORS} errors: skipping upload")
set(ENV{GMSH_BUILD_ERRORS} 0)
else($ENV{GMSH_BUILD_ERRORS} GREATER 0)
message("Build succeeded: uploading package to web site")
file(GLOB FILE ${CTEST_BINARY_DIRECTORY}/gmsh-*${EXT1})
if(FILE)
if(${FILE} MATCHES "-svn")
execute_process(COMMAND scp -C ${FILE} ${WEB}/gmsh-svn-${ARCH}${EXTRA}${EXT2}
TIMEOUT 60)
else(${FILE} MATCHES "-svn")
get_filename_component(NAME ${FILE} NAME)
string(REPLACE ${EXT1} "" BASE ${NAME})
execute_process(COMMAND scp -C ${FILE} ${WEB}/${BASE}${EXTRA}${EXT2}
TIMEOUT 60)
endif(${FILE} MATCHES "-svn")
endif(FILE)
endif($ENV{GMSH_BUILD_ERRORS} GREATER 0)
endmacro(upload_package)