File: CMakeLists.txt

package info (click to toggle)
paraview 5.11.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 497,236 kB
  • sloc: cpp: 3,171,290; ansic: 1,315,072; python: 134,290; xml: 103,324; sql: 65,887; sh: 5,286; javascript: 4,901; yacc: 4,383; java: 3,977; perl: 2,363; lex: 1,909; f90: 1,255; objc: 143; makefile: 119; tcl: 59; pascal: 50; fortran: 29
file content (118 lines) | stat: -rw-r--r-- 4,382 bytes parent folder | download | duplicates (2)
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()