File: CMakeLists.txt

package info (click to toggle)
xdmf 3.0%2Bgit20160803-5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 35,384 kB
  • sloc: ansic: 265,382; cpp: 162,889; python: 10,976; f90: 1,378; yacc: 687; fortran: 464; xml: 200; java: 187; lex: 125; makefile: 82; sh: 28
file content (68 lines) | stat: -rw-r--r-- 2,910 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# In CMake version 2.8 we can used a much nicer $<CONFIGURATION> arguments for specifying 
# the configuration type of the build For now I have added this new functionality to these 
# batch tests but it will only work on dashboards using 2.8. This check can be removed when
# ParaView officially requires CMake 2.8."
SET(GENERATOR_EXPRESSIONS_SUPPORTED)
IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
  SET(GENERATOR_EXPRESSIONS_SUPPORTED OFF)
ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
  SET(GENERATOR_EXPRESSIONS_SUPPORTED ON)
ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)

SET(TEST_EXECUTABLE_PATH ${EXECUTABLE_OUTPUT_PATH})

# We don't want the <CONFIGURATION> as part of the path on non windows systems.
IF(WIN32 AND GENERATOR_EXPRESSIONS_SUPPORTED)
  SET(TEST_EXECUTABLE_PATH ${EXECUTABLE_OUTPUT_PATH}/\$<CONFIGURATION>)
ENDIF(WIN32 AND GENERATOR_EXPRESSIONS_SUPPORTED)

macro( XdmfSerialTest testname )
    add_executable( ${testname} ${ARGN} )
    target_link_libraries( ${testname} Xdmf )
    add_test( ${testname} ${EXECUTABLE_OUTPUT_PATH}/${testname} )
endmacro()

macro( XdmfMPITest testname num_procs )
    find_package( MPI )
    if( MPI_FOUND AND GENERATOR_EXPRESSIONS_SUPPORTED)
        include_directories( MPI_INCLUDE_PATH )
        add_executable( ${testname} ${ARGN} )
        target_link_libraries( ${testname} Xdmf ${MPI_LIBRARIES} )
        add_test(NAME ${testname} 
          COMMAND ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${num_procs}
            ${MPIEXEC_PREFLAGS}
            ${TEST_EXECUTABLE_PATH}/${testname}
            ${MPI_EXEC_POSTFLAGS} )
    endif( MPI_FOUND AND GENERATOR_EXPRESSIONS_SUPPORTED)
endmacro( XdmfMPITest )

macro( XdmfUtilsTest testname )
    add_executable (${testname} ${ARGN} )
    target_link_libraries( ${testname} XdmfUtils )
    add_test( ${testname} ${EXECUTABLE_OUTPUT_PATH}/${testname} )
endmacro()

XdmfSerialTest( XdmfTestHDFRoundtrip TestXdmfHDF.cxx )
#XdmfSerialTest( XdmfTestArray TestXdmfArray.cc)

if(XDMF_BUILD_MPI)
    XdmfMPITest( XdmfTestHDFMPI 4 XdmfHDFMPI.cxx )
endif(XDMF_BUILD_MPI)

if(XDMF_WRAP_PYTHON)
  if(PYTHON_EXECUTABLE)
    CONFIGURE_FILE(PythonTestDriver.cmake.in PythonTestDriver.cmake @ONLY)
    SET(PYTHON_TESTS
        TestXdmfArrayPython
        TestXdmfWriteGridsToFilePython
       )
    FOREACH(PYTHON_TEST ${PYTHON_TESTS})
      CONFIGURE_FILE(${PYTHON_TEST}.py ${PYTHON_TEST}.py COPYONLY)
      # Run all python tests by calling a cmake script that sets correct
      # environment variables --- python script to run and appropraite arguments
      # are set in ARGV and passed to the cmake script
      SET(ARGV ${CMAKE_CURRENT_BINARY_DIR}/${PYTHON_TEST}.py)
      ADD_TEST("${PYTHON_TEST}" ${CMAKE_COMMAND} "-D" ARGV=${ARGV} "-P" ${CMAKE_CURRENT_BINARY_DIR}/PythonTestDriver.cmake) 
    ENDFOREACH(PYTHON_TEST)
  endif(PYTHON_EXECUTABLE)
endif(XDMF_WRAP_PYTHON)