diff --git a/utils/nightly/gmsh.ctest b/utils/nightly/gmsh.ctest new file mode 100644 index 0000000000000000000000000000000000000000..67b5f8fdfa1dee1462810bc4be0455a1559f8d1c --- /dev/null +++ b/utils/nightly/gmsh.ctest @@ -0,0 +1,70 @@ +# Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle +# +# See the LICENSE.txt file for license information. Please report all +# bugs and problems to <gmsh@geuz.org>. + +# this is the common ctest script used by all gmsh nightly (and experimental) +# builds, on all architectures + +set(CTEST_SOURCE_DIRECTORY "$ENV{HOME}/src/gmsh") +set(CTEST_BINARY_DIRECTORY "$ENV{HOME}/src/gmsh/bin") +set(CTEST_CMAKE_GENERATOR "Unix Makefiles") +set(CTEST_BUILD_CONFIGURATION "RelWithDebInfo") + +set(CTEST_SVN_REPOS https://geuz.org/svn/gmsh/trunk) + +find_program(CTEST_SVN_COMMAND NAMES svn) +find_program(CTEST_COVERAGE_COMMAND NAMES gcov) +find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) + +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} ${CTEST_BUILD_OPTIONS}") +set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} \"-G${CTEST_CMAKE_GENERATOR}\"") +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}) +ctest_update() +ctest_configure() +ctest_build(TARGET html) +ctest_build(TARGET package) +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) + 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) +endmacro(upload_package) diff --git a/utils/nightly/gmsh_linux.ctest b/utils/nightly/gmsh_linux.ctest new file mode 100644 index 0000000000000000000000000000000000000000..66274edaa00c23a135fe7acc787de67f491b72db --- /dev/null +++ b/utils/nightly/gmsh_linux.ctest @@ -0,0 +1,25 @@ +# Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle +# +# See the LICENSE.txt file for license information. Please report all +# bugs and problems to <gmsh@geuz.org>. + +set(CTEST_SITE "ace25 (Debian 32 bits)") +set(CTEST_CMAKE_COMMAND "/usr/local/bin/cmake") + +set(WEB_BIN "geuzaine@geuz.org:/home/www/geuz.org/gmsh/bin/Linux") + +set(WITH_TEST TRUE) # run the tests? +set(WITH_COVERAGE FALSE) # check code coverage? +set(WITH_MEMCHECK FALSE) # check memory with valgrind? + +################################################################################# +set(CTEST_BUILD_NAME "Linux32") +set(OPT "-DGMSH_EXTRA_VERSION=${EXTRA_VERSION}") +set(OPT "${OPT} -DCMAKE_PREFIX_PATH:path=/usr/local/med;/usr/local/opencascade;/usr/local") +set(OPT "${OPT} -DENABLE_NATIVE_FILE_CHOOSER:bool=FALSE") +set(OPT "${OPT} -DPETSC_ARCH=linux_complex_umfpack") +set(OPT "${OPT} -DPETSC_DIR=$ENV{HOME}/src/petsc-3.0.0-p12") +set(OPT "${OPT} -DSLEPC_DIR=$ENV{HOME}/src/slepc-3.0.0-p7") +set(CTEST_BUILD_OPTIONS ${OPT}) +include(gmsh.ctest) +upload_package(${WEB_BIN} Linux "" .tar.gz .tgz) diff --git a/utils/nightly/gmsh_linux_nightly.cron b/utils/nightly/gmsh_linux_nightly.cron new file mode 100644 index 0000000000000000000000000000000000000000..f6fc903585f66405fee3999a9657da7c408baa6e --- /dev/null +++ b/utils/nightly/gmsh_linux_nightly.cron @@ -0,0 +1,4 @@ +# +# this will launch a new build every night at 1h01 +# +1 1 * * * cd ${HOME}/src/gmsh/utils/nightly && /usr/local/bin/ctest -S gmsh_linux_nightly.ctest diff --git a/utils/nightly/gmsh_linux_nightly.ctest b/utils/nightly/gmsh_linux_nightly.ctest new file mode 100644 index 0000000000000000000000000000000000000000..8fd4a693e54315fb673227c5cec54911ab56327c --- /dev/null +++ b/utils/nightly/gmsh_linux_nightly.ctest @@ -0,0 +1,9 @@ +# Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle +# +# See the LICENSE.txt file for license information. Please report all +# bugs and problems to <gmsh@geuz.org>. + +set(CTEST_NIGHTLY_START_TIME "00:00:00 UTC") +set(CDASH_MODEL "Nightly") +set(EXTRA_VERSION "-svn") +include(gmsh_linux.ctest) diff --git a/utils/nightly/gmsh_mac.ctest b/utils/nightly/gmsh_mac.ctest new file mode 100644 index 0000000000000000000000000000000000000000..126a78d7b7f5489aa95fb583e6f961e138826e39 --- /dev/null +++ b/utils/nightly/gmsh_mac.ctest @@ -0,0 +1,24 @@ +# Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle +# +# See the LICENSE.txt file for license information. Please report all +# bugs and problems to <gmsh@geuz.org>. + +set(CTEST_SITE "ace25 (OSX 10.5)") +set(CTEST_CMAKE_COMMAND "cmake") + +set(WEB_BIN "geuzaine@geuz.org:/home/www/geuz.org/gmsh/bin/MacOSX") + +set(WITH_TEST TRUE) # run the tests? +set(WITH_COVERAGE FALSE) # check code coverage? +set(WITH_MEMCHECK FALSE) # check memory with valgrind? + +################################################################################# +set(CTEST_BUILD_NAME "MacOSX32") +set(OPT "-DGMSH_EXTRA_VERSION=${EXTRA_VERSION}") +set(OPT "${OPT} -DCMAKE_PREFIX_PATH:path=/usr/local/opencascade;/usr/local/med;/usr/local") +set(OPT "${OPT} -DPETSC_ARCH=umfpack-cxx-opt") +set(OPT "${OPT} -DPETSC_DIR=$ENV{HOME}/src/petsc-3.0.0-p7") +set(OPT "${OPT} -DSLEPC_DIR=$ENV{HOME}/src/slepc-3.0.0-p7") +set(CTEST_BUILD_OPTIONS ${OPT}) +include(gmsh.ctest) +upload_package(${WEB_BIN} MacOSX "" .tar.gz .tgz) diff --git a/utils/nightly/gmsh_mac_nightly.cron b/utils/nightly/gmsh_mac_nightly.cron new file mode 100644 index 0000000000000000000000000000000000000000..d065a88737332ce5c881fb2d49933d5500b1cf12 --- /dev/null +++ b/utils/nightly/gmsh_mac_nightly.cron @@ -0,0 +1,4 @@ +# +# this will launch a new build every night at 0h01 +# +1 0 * * * cd ${HOME}/src/gmsh/utils/nightly && /usr/local/bin/ctest -S gmsh_mac_nightly.ctest diff --git a/utils/nightly/gmsh_mac_nightly.ctest b/utils/nightly/gmsh_mac_nightly.ctest new file mode 100644 index 0000000000000000000000000000000000000000..dd455a3c8e21d6c6b08d9b4abce04bb315b30fb6 --- /dev/null +++ b/utils/nightly/gmsh_mac_nightly.ctest @@ -0,0 +1,9 @@ +# Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle +# +# See the LICENSE.txt file for license information. Please report all +# bugs and problems to <gmsh@geuz.org>. + +set(CTEST_NIGHTLY_START_TIME "00:00:00 UTC") +set(CDASH_MODEL "Nightly") +set(EXTRA_VERSION "-svn") +include(gmsh_mac.ctest) diff --git a/utils/nightly/gmsh_win.ctest b/utils/nightly/gmsh_win.ctest new file mode 100644 index 0000000000000000000000000000000000000000..900563e902c59c0024176487c97ed6b2a1d02810 --- /dev/null +++ b/utils/nightly/gmsh_win.ctest @@ -0,0 +1,27 @@ +# Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle +# +# See the LICENSE.txt file for license information. Please report all +# bugs and problems to <gmsh@geuz.org>. + +set(CTEST_SITE "ace25 (Windows XP)") +set(CTEST_CMAKE_COMMAND "cmake") + +set(WEB_BIN "geuzaine@geuz.org:/home/www/geuz.org/gmsh/bin/Windows") + +set(WITH_TEST TRUE) # run the tests? +set(WITH_COVERAGE FALSE) # check code coverage? +set(WITH_MEMCHECK FALSE) # check memory with valgrind? + +################################################################################# +set(CTEST_BUILD_NAME "Win32") +set(OPT "-DGMSH_EXTRA_VERSION=${EXTRA_VERSION}") +set(OPT "${OPT} -DCMAKE_PREFIX_PATH:path=/usr/local/med;/usr/local/opencascade;/usr/local;/usr/i686-w64-mingw32/sys-root/mingw") +set(OPT "${OPT} -DCMAKE_C_COMPILER=/usr/bin/i686-w64-mingw32-gcc.exe") +set(OPT "${OPT} -DCMAKE_CXX_COMPILER=/usr/bin/i686-w64-mingw32-g++.exe") +set(OPT "${OPT} -DCMAKE_Fortran_COMPILER=/usr/bin/i686-w64-mingw32-gfortran.exe") +set(OPT "${OPT} -DPETSC_ARCH=win32_complex_umfpack") +set(OPT "${OPT} -DPETSC_DIR=$ENV{HOME}/src/petsc-3.0.0-p12") +set(OPT "${OPT} -DSLEPC_DIR=$ENV{HOME}/src/slepc-3.0.0-p7") +set(CTEST_BUILD_OPTIONS ${OPT}) +include(gmsh.ctest) +upload_package(${WEB_BIN} Win "" .zip .zip) diff --git a/utils/nightly/gmsh_win_nightly.bat b/utils/nightly/gmsh_win_nightly.bat new file mode 100755 index 0000000000000000000000000000000000000000..911aa46457fe8171c6b89e2baead3da28bd844c4 --- /dev/null +++ b/utils/nightly/gmsh_win_nightly.bat @@ -0,0 +1,6 @@ +@echo off + +C: +chdir C:\cygwin\bin + +bash --login -c "cd ${HOME}/src/gmsh/utils/nightly && ctest -S gmsh_win_nightly.ctest" diff --git a/utils/nightly/gmsh_win_nightly.ctest b/utils/nightly/gmsh_win_nightly.ctest new file mode 100644 index 0000000000000000000000000000000000000000..b4b6eeaa9ec578c616bd184b67a0d6a3db9885e2 --- /dev/null +++ b/utils/nightly/gmsh_win_nightly.ctest @@ -0,0 +1,9 @@ +# Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle +# +# See the LICENSE.txt file for license information. Please report all +# bugs and problems to <gmsh@geuz.org>. + +set(CTEST_NIGHTLY_START_TIME "00:00:00 UTC") +set(CDASH_MODEL "Nightly") +set(EXTRA_VERSION "-svn") +include(gmsh_win.ctest)