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