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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
cmake_minimum_required(VERSION 3.13)
project(CxxImageDataExampleV2 LANGUAGES C CXX)
include (GNUInstallDirs)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
#------------------------------------------------------------------------------
# since we use C++11 in this example.
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# Since this example uses MPI, find and link against it.
find_package(MPI COMPONENTS C CXX)
if (NOT MPI_FOUND)
message(STATUS
"Skipping example: ${PROJECT_NAME} requires MPI.")
return ()
endif ()
#------------------------------------------------------------------------------
add_executable(CxxImageDataExampleV2
FEDataStructures.cxx
FEDataStructures.h
FEDriver.cxx)
target_link_libraries(CxxImageDataExampleV2
PRIVATE
MPI::MPI_C
MPI::MPI_CXX)
#------------------------------------------------------------------------------
option(USE_CATALYST "Build example with Catalyst enabled" ON)
if (USE_CATALYST)
find_package(catalyst REQUIRED
PATHS "${ParaView_DIR}/catalyst")
target_compile_definitions(CxxImageDataExampleV2
PRIVATE
"PARAVIEW_IMPL_DIR=\"${ParaView_CATALYST_DIR}\""
USE_CATALYST=1)
target_link_libraries(CxxImageDataExampleV2
PRIVATE
catalyst::catalyst)
include(CTest)
if (BUILD_TESTING)
add_test(
NAME CxxImageDataExampleV2::SimplePipeline
COMMAND CxxImageDataExampleV2
${CMAKE_CURRENT_SOURCE_DIR}/catalyst_pipeline.py)
add_test(
NAME CxxImageDataExampleV2::IOPipeline::Prepare
COMMAND "${CMAKE_COMMAND}" -E remove_directory "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/result")
set_tests_properties(
"CxxImageDataExampleV2::IOPipeline::Prepare"
PROPERTIES
FIXTURES_SETUP "CxxImageDataExampleV2::IOPipeline::Prepare")
add_test(
NAME CxxImageDataExampleV2::IOPipeline
COMMAND CxxImageDataExampleV2
--output "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/result/dataset-%04ts.vtpd"
--exists "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/result/dataset-0093.vtpd"
--exists "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/result/dataset-0093/dataset-0093_0.vti")
set_tests_properties(
"CxxImageDataExampleV2::IOPipeline"
PROPERTIES
FIXTURES_REQUIRED "CxxImageDataExampleV2::IOPipeline::Prepare")
add_test(
NAME CxxImageDataExampleV2::IOPipelineRelativePaths::Prepare
COMMAND "${CMAKE_COMMAND}" -E rm -rf "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/relative_paths/*")
set_tests_properties(
"CxxImageDataExampleV2::IOPipelineRelativePaths::Prepare"
PROPERTIES
FIXTURES_SETUP "CxxImageDataExampleV2::IOPipelineRelativePaths::Prepare")
make_directory("${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/relative_paths")
add_test(
NAME CxxImageDataExampleV2::IOPipelineRelativePaths
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/relative_paths"
COMMAND CxxImageDataExampleV2
--output "dataset-%04ts.vtpd"
--exists "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/relative_paths/dataset-0093.vtpd"
--exists "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/relative_paths/dataset-0093/dataset-0093_0.vti")
set_tests_properties(
"CxxImageDataExampleV2::IOPipelineRelativePaths"
PROPERTIES
FIXTURES_REQUIRED "CxxImageDataExampleV2::IOPipelineRelativePaths::Prepare")
set(_vtk_fail_regex
# vtkLogger
"(\n|^)ERROR: "
"ERR\\|"
# Python errors / exceptions
"Error"
# vtkDebugLeaks
"instance(s)? still around")
set_tests_properties(
"CxxImageDataExampleV2::SimplePipeline"
"CxxImageDataExampleV2::IOPipeline"
"CxxImageDataExampleV2::IOPipelineRelativePaths"
PROPERTIES
FAIL_REGULAR_EXPRESSION "${_vtk_fail_regex}"
SKIP_RETURN_CODE 125)
# this ensures that ParaView Catalyst was indeed loaded.
set_tests_properties(
"CxxImageDataExampleV2::SimplePipeline"
PROPERTIES
PASS_REGULAR_EXPRESSION "executing catalyst_pipeline"
SKIP_REGULAR_EXPRESSION "Python support not enabled")
endif()
endif()
|