Skip to content
Snippets Groups Projects
Select Git revision
  • 9f36fd4d3eb9b9f8b47da2dfa5d26f1b4d764ade
  • master default
  • cgnsUnstructured
  • partitioning
  • poppler
  • HighOrderBLCurving
  • gmsh_3_0_4
  • gmsh_3_0_3
  • gmsh_3_0_2
  • gmsh_3_0_1
  • gmsh_3_0_0
  • gmsh_2_16_0
  • gmsh_2_15_0
  • gmsh_2_14_1
  • gmsh_2_14_0
  • gmsh_2_13_2
  • gmsh_2_13_1
  • gmsh_2_12_0
  • gmsh_2_11_0
  • gmsh_2_10_1
  • gmsh_2_10_0
  • gmsh_2_9_3
  • gmsh_2_9_2
  • gmsh_2_9_1
  • gmsh_2_9_0
  • gmsh_2_8_6
26 results

gmsh.ctest

Blame
  • 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)