paraview-config.cmake
Go to the documentation of this file.
1 #[==[.md
2 # paraview-config.cmake
3 
4 This file is used by CMake when finding ParaView.
5 
6 The following variables are provided by this module:
7 
8  * `ParaView_VERSION`: The version of ParaView found.
9  * `ParaView_PREFIX_PATH`: Install prefix for ParaView.
10  * `PARAVIEW_USE_QT`: If ParaView's Qt GUI is available.
11  * `PARAVIEW_USE_MPI`: If ParaView is built with MPI support.
12  * `PARAVIEW_USE_PYTHON`: If ParaView is built with Python support.
13  * `PARAVIEW_PYTHONPATH`: Where ParaView's Python modules live under the
14  install prefix. Unset if Python is not available.
15  * `PARAVIEW_PLUGIN_SUBDIR`: The subdirectory under the library directory for
16  plugins.
17  * `ParaView_CLIENT_XML_FILES`: XML files for client applications to use to
18  reproduce ParaView's menu items. Only provided if `PARAVIEW_USE_QT`
19  is set.
20  * `ParaView_LIBRARIES`: The list of modules specified by `COMPONENTS` and
21  `OPTIONAL_COMPONENTS`. This may be used in `MODULES` arguments in the API
22  (e.g., `vtk_module_autoinit`). All modules are also targets and may be
23  linked to using `target_link_libraries`.
24 #]==]
25 
26 set(${CMAKE_FIND_PACKAGE_NAME}_CMAKE_MODULE_PATH_save "${CMAKE_MODULE_PATH}")
27 list(INSERT CMAKE_MODULE_PATH 0
28  "${CMAKE_CURRENT_LIST_DIR}")
29 
30 set("${CMAKE_FIND_PACKAGE_NAME}_CMAKE_PREFIX_PATH_save" "${CMAKE_PREFIX_PATH}")
31 include("${CMAKE_CURRENT_LIST_DIR}/paraview-prefix.cmake")
32 set("${CMAKE_FIND_PACKAGE_NAME}_PREFIX_PATH"
33  "${_vtk_module_import_prefix}")
34 unset(_vtk_module_import_prefix)
35 list(INSERT CMAKE_PREFIX_PATH 0
36  "${${CMAKE_FIND_PACKAGE_NAME}_PREFIX_PATH}")
37 
38 set("${CMAKE_FIND_PACKAGE_NAME}_VERSION" "5.9.1")
39 
40 unset("${CMAKE_FIND_PACKAGE_NAME}_FOUND")
41 
42 set(_paraview_use_external_vtk "OFF")
43 set(_paraview_find_package_args)
44 if (NOT _paraview_use_external_vtk)
45  list(APPEND _paraview_find_package_args
46  PATHS "${CMAKE_CURRENT_LIST_DIR}/vtk"
47  NO_DEFAULT_PATH)
48 endif ()
49 if (${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
50  list(APPEND _paraview_find_package_args
51  QUIET)
52 endif ()
53 find_package(VTK REQUIRED
54  ${_paraview_find_package_args})
55 if (NOT VTK_FOUND)
56  set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 0)
57 endif ()
58 unset(_paraview_find_package_args)
59 unset(_paraview_use_external_vtk)
60 
61 # Find Catalyst
62 find_package(catalyst REQUIRED QUIET
63  PATHS "${CMAKE_CURRENT_LIST_DIR}/catalyst"
64  NO_DEFAULT_PATH)
65 
66 set(PARAVIEW_USE_QT "OFF")
67 set(PARAVIEW_USE_MPI "ON")
68 set(PARAVIEW_USE_PYTHON "ON")
69 set(PARAVIEW_PLUGIN_SUBDIR "paraview-5.9/plugins")
70 
71 if (PARAVIEW_USE_PYTHON)
72  set(PARAVIEW_PYTHONPATH "lib64/python3.9/site-packages")
73  include("${CMAKE_CURRENT_LIST_DIR}/ParaViewPython-targets.cmake")
74  # Unset this for now; these targets will be defined later.
75  unset("${CMAKE_FIND_PACKAGE_NAME}_FOUND")
76  unset("${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE")
77 endif ()
78 
79 include("${CMAKE_CURRENT_LIST_DIR}/${CMAKE_FIND_PACKAGE_NAME}-targets.cmake")
80 include("${CMAKE_CURRENT_LIST_DIR}/${CMAKE_FIND_PACKAGE_NAME}-vtk-module-properties.cmake")
81 
82 include("${CMAKE_CURRENT_LIST_DIR}/paraview-find-package-helpers.cmake" OPTIONAL)
83 include("${CMAKE_CURRENT_LIST_DIR}/${CMAKE_FIND_PACKAGE_NAME}-vtk-module-find-packages.cmake")
84 
85 include("${CMAKE_CURRENT_LIST_DIR}/${CMAKE_FIND_PACKAGE_NAME}Plugins-paraview_plugins-targets-depends.cmake")
86 include("${CMAKE_CURRENT_LIST_DIR}/${CMAKE_FIND_PACKAGE_NAME}Plugins-targets.cmake")
87 include("${CMAKE_CURRENT_LIST_DIR}/${CMAKE_FIND_PACKAGE_NAME}Plugins-paraview-plugin-properties.cmake")
88 
89 include("${CMAKE_CURRENT_LIST_DIR}/${CMAKE_FIND_PACKAGE_NAME}Clients-targets.cmake")
90 include("${CMAKE_CURRENT_LIST_DIR}/${CMAKE_FIND_PACKAGE_NAME}Clients-vtk-module-properties.cmake")
91 
92 
93 include("${CMAKE_CURRENT_LIST_DIR}/ParaViewTools-targets.cmake" OPTIONAL)
94 
95 include("${CMAKE_CURRENT_LIST_DIR}/ParaViewClient.cmake")
96 include("${CMAKE_CURRENT_LIST_DIR}/ParaViewPlugin.cmake")
97 include("${CMAKE_CURRENT_LIST_DIR}/ParaViewServerManager.cmake")
98 include("${CMAKE_CURRENT_LIST_DIR}/ParaViewTesting.cmake")
99 include("${CMAKE_CURRENT_LIST_DIR}/vtkModuleWrapClientServer.cmake")
100 
101 if (ON) # PARAVIEW_USE_PYTHON
102  include("${CMAKE_CURRENT_LIST_DIR}/paraview.modules-vtk-python-module-properties.cmake")
103 endif ()
104 
105 if (OFF) # PARAVIEW_USE_QT
106  include("${CMAKE_CURRENT_LIST_DIR}/${CMAKE_FIND_PACKAGE_NAME}Client-targets.cmake")
107  include("${CMAKE_CURRENT_LIST_DIR}/ParaView-client-xml.cmake")
108 endif ()
109 
110 set(_paraview_components_to_check)
111 foreach (_paraview_component IN LISTS "${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS")
112  if (DEFINED "${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_FOUND")
113  # It was already not-found (likely due to `find-package` failures).
114  elseif (TARGET "${CMAKE_FIND_PACKAGE_NAME}::${_paraview_component}")
115  list(APPEND _paraview_components_to_check
116  "${_paraview_component}")
117  else ()
118  set("${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_FOUND" 0)
119  list(APPEND "${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_NOT_FOUND_MESSAGE"
120  "The ${_paraview_component} component is not available.")
121  endif ()
122 endforeach ()
123 unset(_paraview_component)
124 
125 set(_paraview_vtk_components)
126 
127 while (_paraview_components_to_check)
128  list(GET _paraview_components_to_check 0 _paraview_component)
129  list(REMOVE_AT _paraview_components_to_check 0)
130  if (DEFINED "${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_FOUND")
131  # We've already made a determiniation.
132  continue ()
133  endif ()
134 
135  get_property(_paraview_dependencies
136  TARGET "${CMAKE_FIND_PACKAGE_NAME}::${_paraview_component}"
137  PROPERTY "INTERFACE_paraview_module_depends")
138  string(REPLACE "${CMAKE_FIND_PACKAGE_NAME}::" "" _paraview_dependencies "${_paraview_dependencies}")
139  set(_paraview_all_dependencies_checked TRUE)
140  foreach (_paraview_dependency IN LISTS _paraview_dependencies)
141  # Handle VTK module dependencies.
142  string(FIND "${_paraview_component}" "VTK::" _paraview_vtk_idx)
143  if (NOT _paraview_vtk_idx EQUAL -1)
144  unset(_paraview_vtk_idx)
145  if (NOT TARGET "${_paraview_dependency}")
146  set("${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_FOUND" 0)
147  list(APPEND "${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_NOT_FOUND_MESSAGE"
148  "Failed to find the ${_paraview_dependency} module.")
149  endif ()
150  continue ()
151  endif ()
152  unset(_paraview_vtk_idx)
153 
154  if (DEFINED "${CMAKE_FIND_PACKAGE_NAME}_${_paraview_dependency}_FOUND")
155  if (NOT ${CMAKE_FIND_PACKAGE_NAME}_${_paraview_dependency}_FOUND)
156  set("${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_FOUND" 0)
157  list(APPEND "${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_NOT_FOUND_MESSAGE"
158  "Failed to find the ${_paraview_dependency} component.")
159  endif ()
160  else ()
161  # Check its dependencies.
162  list(APPEND _paraview_components_to_check
163  "${_paraview_dependency}")
164  set(_paraview_all_found FALSE)
165  endif ()
166  endforeach ()
167  if (NOT DEFINED "${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_FOUND")
168  if (_paraview_all_dependencies_checked)
169  set("${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_FOUND" 1)
170  else ()
171  list(APPEND _paraview_components_to_check
172  "${_paraview_component}")
173  endif ()
174  endif ()
175  unset(_paraview_all_dependencies_checked)
176  unset(_paraview_dependency)
177  unset(_paraview_dependencies)
178 endwhile ()
179 unset(_paraview_component)
180 unset(_paraview_components_to_check)
181 
182 set(_paraview_missing_components)
183 foreach (_paraview_component IN LISTS "${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS")
184  if (NOT ${CMAKE_FIND_PACKAGE_NAME}_${_paraview_component}_FOUND AND ${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED_${_paraview_component})
185  list(APPEND _paraview_missing_components
186  "${_paraview_component}")
187  endif ()
188 endforeach ()
189 
190 if (_paraview_missing_components)
191  list(REMOVE_DUPLICATES _paraview_missing_components)
192  list(SORT _paraview_missing_components)
193  string(REPLACE ";" ", " _paraview_missing_components "${_paraview_missing_components}")
194  set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 0)
195  set("${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE"
196  "Could not find the ${CMAKE_FIND_PACKAGE_NAME} package with the following required components: ${_paraview_missing_components}.")
197 endif ()
198 unset(_paraview_missing_components)
199 
200 set("${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES")
201 if (NOT DEFINED "${CMAKE_FIND_PACKAGE_NAME}_FOUND")
202  # If nothing went wrong, we've successfully found the package.
203  set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 1)
204  # Build the `_LIBRARIES` variable.
205  foreach (_paraview_component IN LISTS "${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS")
206  list(APPEND "${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES"
207  "${CMAKE_FIND_PACKAGE_NAME}::${_paraview_component}")
208  endforeach ()
209  unset(_paraview_component)
210 endif ()
211 
212 set(CMAKE_PREFIX_PATH "${${CMAKE_FIND_PACKAGE_NAME}_CMAKE_PREFIX_PATH_save}")
213 unset("${CMAKE_FIND_PACKAGE_NAME}_CMAKE_PREFIX_PATH_save")
214 
215 set(CMAKE_MODULE_PATH "${${CMAKE_FIND_PACKAGE_NAME}_CMAKE_MODULE_PATH_save}")
216 unset(${CMAKE_FIND_PACKAGE_NAME}_CMAKE_MODULE_PATH_save)
217 
218 # Compatibility with old code.
219 if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION)
220  set(PARAVIEW_USE_FILE "${CMAKE_CURRENT_LIST_DIR}/paraview-use-file-deprecated.cmake")
221 elseif (${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION VERSION_LESS 5.7)
222  set(PARAVIEW_USE_FILE "${CMAKE_CURRENT_LIST_DIR}/paraview-use-file-compat.cmake")
223 else ()
224  set(PARAVIEW_USE_FILE "${CMAKE_CURRENT_LIST_DIR}/paraview-use-file-error.cmake")
225 endif ()
226 
227 # 5.8 renamed these variables, so provide them if 5.8 is not the minimum
228 # requested.
229 if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION OR
230  ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION VERSION_LESS "5.8")
231  set(PARAVIEW_BUILD_QT_GUI "${PARAVIEW_USE_QT}")
232  set(PARAVIEW_ENABLE_PYTHON "${PARAVIEW_USE_PYTHON}")
233 endif ()
component
version