1 #========================================================================
3 # Options that affect the ParaView build, in general.
4 # These should begin with `PARAVIEW_BUILD_`.
5 #========================================================================
7 vtk_deprecated_setting(shared_default PARAVIEW_BUILD_SHARED_LIBS BUILD_SHARED_LIBS
"ON")
8 option(PARAVIEW_BUILD_SHARED_LIBS
"Build ParaView with shared libraries" "${shared_default}")
10 vtk_deprecated_setting(legacy_remove_default PARAVIEW_BUILD_LEGACY_REMOVE VTK_LEGACY_REMOVE
"OFF")
11 option(PARAVIEW_BUILD_LEGACY_REMOVE
"Remove all legacy code completely" "${legacy_remove_default}")
12 mark_as_advanced(PARAVIEW_BUILD_LEGACY_REMOVE)
14 vtk_deprecated_setting(legacy_silent_default PARAVIEW_BUILD_LEGACY_SILENT VTK_LEGACY_SILENT
"OFF")
15 option(PARAVIEW_BUILD_LEGACY_SILENT
"Silence all legacy code messages" "${legacy_silent_default}")
16 mark_as_advanced(PARAVIEW_BUILD_LEGACY_SILENT)
18 # Kits bundle multiple modules together into a single library, this
19 # is used to dramatically reduce the number of generated libraries.
20 vtk_deprecated_setting(kits_default PARAVIEW_BUILD_WITH_KITS PARAVIEW_ENABLE_KITS
"OFF")
21 cmake_dependent_option(PARAVIEW_BUILD_WITH_KITS
"Build ParaView using kits instead of modules." OFF
22 # Static builds don
't make sense with kits. Ignore the flag if shared
23 # libraries aren't being built.
24 "PARAVIEW_BUILD_SHARED_LIBS" OFF)
25 mark_as_advanced(PARAVIEW_BUILD_WITH_KITS)
27 vtk_deprecated_setting(external_default PARAVIEW_BUILD_WITH_EXTERNAL PARAVIEW_USE_EXTERNAL
"OFF")
28 option(PARAVIEW_BUILD_WITH_EXTERNAL
"Use external copies of third party libraries by default" OFF)
29 mark_as_advanced(PARAVIEW_BUILD_WITH_EXTERNAL)
31 option(PARAVIEW_BUILD_ALL_MODULES
"Build all modules by default" OFF)
32 mark_as_advanced(PARAVIEW_BUILD_ALL_MODULES)
33 set(_vtk_module_reason_WANT_BY_DEFAULT
34 "via `PARAVIEW_BUILD_ALL_MODULES`")
36 vtk_deprecated_setting(examples_default PARAVIEW_ENABLE_EXAMPLES PARAVIEW_BUILD_EXAMPLES
"OFF")
37 option(PARAVIEW_ENABLE_EXAMPLES
"Enable ParaView examples" "${examples_default}")
38 set(PARAVIEW_BUILD_TESTING
"OFF"
39 CACHE STRING
"Enable testing")
40 set_property(CACHE PARAVIEW_BUILD_TESTING
42 STRINGS
"ON;OFF;WANT;DEFAULT")
44 cmake_dependent_option(PARAVIEW_BUILD_VTK_TESTING
"Enable VTK testing" OFF
45 "PARAVIEW_BUILD_TESTING" OFF)
46 option(PARAVIEW_BUILD_DEVELOPER_DOCUMENTATION
"Generate ParaView C++/Python docs" "${doc_default}")
48 option(PARAVIEW_PLUGIN_DISABLE_XML_DOCUMENTATION
"Forcefully disable XML documentation generation" OFF)
49 mark_as_advanced(PARAVIEW_PLUGIN_DISABLE_XML_DOCUMENTATION)
51 set(PARAVIEW_BUILD_EDITION
"CANONICAL"
52 CACHE STRING
"Enable ParaView components essential for requested capabilities.")
53 set_property(CACHE PARAVIEW_BUILD_EDITION
55 STRINGS
"CORE;RENDERING;CATALYST;CATALYST_RENDERING;CANONICAL")
57 set(PARAVIEW_BUILD_CANONICAL OFF)
58 set(PARAVIEW_ENABLE_RENDERING OFF)
59 set(PARAVIEW_ENABLE_NONESSENTIAL OFF)
60 if (PARAVIEW_BUILD_EDITION STREQUAL
"CORE")
62 elseif (PARAVIEW_BUILD_EDITION STREQUAL
"RENDERING")
63 set(PARAVIEW_ENABLE_RENDERING ON)
64 elseif (PARAVIEW_BUILD_EDITION STREQUAL
"CATALYST")
65 set(PARAVIEW_BUILD_CANONICAL ON)
66 elseif (PARAVIEW_BUILD_EDITION STREQUAL
"CATALYST_RENDERING")
67 set(PARAVIEW_ENABLE_RENDERING ON)
68 set(PARAVIEW_BUILD_CANONICAL ON)
69 elseif (PARAVIEW_BUILD_EDITION STREQUAL
"CANONICAL")
70 set(PARAVIEW_ENABLE_RENDERING ON)
71 set(PARAVIEW_BUILD_CANONICAL ON)
72 set(PARAVIEW_ENABLE_NONESSENTIAL ON)
75 # We want to warn users if PARAVIEW_BUILD_EDITION is changed after first configure since the default
76 # state of various other settings may not be what user expects.
77 if (DEFINED _paraview_build_edition_cached AND
78 NOT _paraview_build_edition_cached STREQUAL PARAVIEW_BUILD_EDITION)
80 "Changing `PARAVIEW_BUILD_EDITION` after first configure will not setup "
81 "defaults for others settings correctly e.g. plugins enabled. It is "
82 "recommended that you start with a clean build directory and pass the "
83 "option to CMake using "
84 "'-DPARAVIEW_BUILD_EDITION:STRING=${PARAVIEW_BUILD_EDITION}'.")
86 set(_paraview_build_edition_cached "${PARAVIEW_BUILD_EDITION}
" CACHE INTERNAL "")
88 set(VTK_GROUP_ENABLE_PARAVIEW_CORE "YES
" CACHE INTERNAL "")
89 if (PARAVIEW_BUILD_CANONICAL)
90 set(VTK_GROUP_ENABLE_PARAVIEW_CANONICAL "YES
" CACHE INTERNAL "")
92 set(VTK_GROUP_ENABLE_PARAVIEW_CANONICAL "NO
" CACHE INTERNAL "")
95 #========================================================================
97 # Options that affect the build capabilities.
98 # These should begin with `PARAVIEW_USE_`.
99 #========================================================================
101 # XXX(VTK): External VTK is not yet actually supported.
103 option(PARAVIEW_USE_EXTERNAL_VTK "Use an external VTK.
" OFF)
104 mark_as_advanced(PARAVIEW_USE_EXTERNAL_VTK)
106 set(PARAVIEW_USE_EXTERNAL_VTK OFF)
109 option(PARAVIEW_USE_MPI "Enable MPI support
for parallel computing
" OFF)
110 option(PARAVIEW_SERIAL_TESTS_USE_MPIEXEC
111 "Used
on HPC to run serial tests
on compute nodes
" OFF)
112 mark_as_advanced(PARAVIEW_SERIAL_TESTS_USE_MPIEXEC)
113 option(PARAVIEW_USE_CUDA "Support CUDA compilation
" OFF)
114 option(PARAVIEW_USE_VTKM "Enable VTK-m accelerated algorithms
" "${PARAVIEW_ENABLE_NONESSENTIAL}
")
115 if (UNIX AND NOT APPLE)
116 option(PARAVIEW_USE_MEMKIND "Build support
for extended memory
" OFF)
119 option(PARAVIEW_ENABLE_OPENVDB "Enable the OpenVDB Writer
" OFF)
121 option(PARAVIEW_GENERATE_SPDX "Generate SPDX file
for each module.
" OFF)
122 mark_as_advanced(PARAVIEW_GENERATE_SPDX)
124 # Add option to disable Fortran
126 include(CheckFortran)
127 check_fortran_support()
128 if (CMAKE_Fortran_COMPILER)
129 set(_has_fortran TRUE)
131 set(_has_fortran FALSE)
133 cmake_dependent_option(PARAVIEW_USE_FORTRAN "Enable Fortran support
" ON
135 mark_as_advanced(PARAVIEW_USE_FORTRAN)
139 vtk_deprecated_setting(python_default PARAVIEW_USE_PYTHON PARAVIEW_ENABLE_PYTHON OFF)
140 option(PARAVIEW_USE_PYTHON "Enable/Disable Python scripting support
" "${python_default}
")
142 # Currently, we're making `PARAVIEW_USE_QT` available only when doing CANONICAL
143 # builds with RENDERING. This is technically not necessary so we can support that
144 # use-case if needed in future but will require some work to make sure the Qt components
145 # work correctly with missing proxies.
146 vtk_deprecated_setting(qt_gui_default PARAVIEW_USE_QT PARAVIEW_BUILD_QT_GUI "ON
")
147 cmake_dependent_option(PARAVIEW_USE_QT
148 "Enable Qt-support needed
for graphical UI
" "${qt_gui_default}
"
149 "PARAVIEW_BUILD_CANONICAL;PARAVIEW_ENABLE_RENDERING;PARAVIEW_ENABLE_NONESSENTIAL
" OFF)
151 # Add an option to enable using Qt WebEngine for widgets, as needed.
152 # Default is OFF. We don't want to depend on WebEngine unless absolutely needed.
153 cmake_dependent_option(PARAVIEW_USE_QTWEBENGINE
154 "Use Qt WebEngine components as needed.
" OFF
155 "PARAVIEW_USE_QT
" OFF)
156 mark_as_advanced(PARAVIEW_USE_QTWEBENGINE)
158 # Add an option to enable using Qt Help, as needed.
159 # Default is ON to enable integrated help/documentation.
160 cmake_dependent_option(PARAVIEW_USE_QTHELP
161 "Use Qt Help infrastructure as needed.
" ON
162 "PARAVIEW_USE_QT
" OFF)
163 mark_as_advanced(PARAVIEW_USE_QTHELP)
165 if (PARAVIEW_USE_QTHELP AND NOT PARAVIEW_USE_QTWEBENGINE)
166 message(STATUS "Using
'QtHelp' without
'QtWebEngine' will ignore embedded javascript and *.js files
for documentation")
169 if (PARAVIEW_ENABLE_RAYTRACING AND VTK_ENABLE_OSPRAY)
170 set(paraview_use_materialeditor ON)
172 set(paraview_use_materialeditor OFF)
175 #========================================================================
177 # Options that toggle features. These should begin with `PARAVIEW_ENABLE_`.
178 #========================================================================
180 vtk_deprecated_setting(raytracing_default PARAVIEW_ENABLE_RAYTRACING PARAVIEW_USE_RAYTRACING "OFF
")
181 option(PARAVIEW_ENABLE_RAYTRACING "Build ParaView with OSPray and/or OptiX ray-tracing support
" "${raytracing_default}
")
183 set(paraview_web_default ON)
184 if (PARAVIEW_USE_PYTHON AND WIN32)
185 include("${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake/FindPythonModules.cmake
")
186 find_python_module(win32api have_pywin32)
187 set(paraview_web_default "${have_pywin32}
")
190 if (NOT PARAVIEW_BUILD_EDITION STREQUAL "CANONICAL
")
191 set(paraview_web_default OFF)
193 cmake_dependent_option(PARAVIEW_ENABLE_WEB "Enable/Disable web support
" "${paraview_web_default}
"
194 "PARAVIEW_USE_PYTHON
" OFF)
196 # NvPipe requires an NVIDIA GPU.
197 option(PARAVIEW_ENABLE_NVPIPE "Build ParaView with NvPipe remoting. Requires CUDA and an NVIDIA GPU
" OFF)
199 option(PARAVIEW_ENABLE_ALEMBIC "Enable Alembic support.
" OFF)
201 option(PARAVIEW_ENABLE_GDAL "Enable GDAL support.
" OFF)
203 option(PARAVIEW_ENABLE_LAS "Enable LAS support.
" OFF)
205 option(PARAVIEW_ENABLE_GEOVIS "Enable GeoVis support.
" OFF)
207 option(PARAVIEW_ENABLE_OPENTURNS "Enable OpenTURNS support.
" OFF)
209 option(PARAVIEW_ENABLE_PDAL "Enable PDAL support.
" OFF)
211 option(PARAVIEW_ENABLE_MOTIONFX "Enable MotionFX support.
" OFF)
213 option(PARAVIEW_ENABLE_MOMENTINVARIANTS "Enable MomentInvariants filters
" OFF)
215 option(PARAVIEW_ENABLE_LOOKINGGLASS "Enable LookingGlass displays
" OFF)
217 option(PARAVIEW_ENABLE_VISITBRIDGE "Enable VisIt readers.
" OFF)
219 option(PARAVIEW_ENABLE_CATALYST "Enable ParaViewCatalyst implementation
" OFF)
221 # default to ON for CANONICAL builds, else OFF.
222 set(xdmf2_default OFF)
223 if (PARAVIEW_BUILD_CANONICAL AND PARAVIEW_ENABLE_NONESSENTIAL)
224 set(xdmf2_default ON)
226 option(PARAVIEW_ENABLE_XDMF2 "Enable Xdmf2 support.
" "${xdmf2_default}
")
228 option(PARAVIEW_ENABLE_XDMF3 "Enable Xdmf3 support.
" OFF)
230 option(PARAVIEW_ENABLE_ADIOS2 "Enable
ADIOS 2.x support.
" OFF)
232 option(PARAVIEW_ENABLE_FIDES "Enable Fides support.
" OFF)
234 option(PARAVIEW_ENABLE_FFMPEG "Enable FFMPEG Support.
" OFF)
236 option(PARAVIEW_ENABLE_OCCT "Enable OCCT Support.
" OFF)
238 option(PARAVIEW_BUILD_TRANSLATIONS "Generate
translation files
" OFF)
239 if (PARAVIEW_BUILD_TRANSLATIONS)
240 set(PARAVIEW_TRANSLATIONS_DIRECTORY "${CMAKE_BINARY_DIR}/Translations
" CACHE STRING
244 # If building on Unix with MPI enabled, we will present another option to
245 # enable building of CosmoTools VTK extensions. This option is by default
246 # OFF and set to OFF if ParaView is not built with MPI.
247 cmake_dependent_option(PARAVIEW_ENABLE_COSMOTOOLS
248 "Build ParaView with CosmoTools VTK Extensions
" OFF
249 "UNIX;PARAVIEW_USE_MPI
" OFF)
251 # PARAVIEW_ENABLE_CGNS_* option is only shown when PARAVIEW_ENABLE_NONESSENTIAL is
252 # OFF and then it defaults to OFF. If PARAVIEW_ENABLE_NONESSENTIAL is ON, then
253 # PARAVIEW_ENABLE_CGNS_* is set to ON as well and presented to the user at all.
254 cmake_dependent_option(PARAVIEW_ENABLE_CGNS_READER
255 "Enable CGNS Reader Support
" OFF
256 "NOT PARAVIEW_ENABLE_NONESSENTIAL
" ON)
257 cmake_dependent_option(PARAVIEW_ENABLE_CGNS_WRITER
258 "Enable CGNS Reader Support
" OFF
259 "NOT PARAVIEW_ENABLE_NONESSENTIAL
" ON)
261 #========================================================================
262 # MISCELLANEOUS OPTIONS:
263 # Options that are hard to classify. Keep this list minimal.
264 # These should be advanced by default.
265 #========================================================================
266 option(PARAVIEW_INSTALL_DEVELOPMENT_FILES "Install development files to the install tree
" ON)
267 mark_as_advanced(PARAVIEW_INSTALL_DEVELOPMENT_FILES)
269 option(PARAVIEW_RELOCATABLE_INSTALL "Do not embed hard-coded paths into the install
" ON)
270 mark_as_advanced(PARAVIEW_RELOCATABLE_INSTALL)
273 cmake_dependent_option(PARAVIEW_INITIALIZE_MPI_ON_CLIENT
274 "Initialize MPI
on client-processes by
default. Can be overridden
using command line arguments
" ON
275 "PARAVIEW_USE_MPI
" OFF)
276 mark_as_advanced(PARAVIEW_INITIALIZE_MPI_ON_CLIENT)
278 set(PARAVIEW_LOGGING_TIME_PRECISION "3
"
279 CACHE STRING "Precision of loguru scope timers. 3=ms, 6=us, 9=ns
")
280 mark_as_advanced(PARAVIEW_LOGGING_TIME_PRECISION)
281 set(known_logging_precisions 3 6 9)
282 set_property(CACHE PARAVIEW_LOGGING_TIME_PRECISION
284 STRINGS ${known_logging_precisions})
285 if (NOT PARAVIEW_LOGGING_TIME_PRECISION IN_LIST known_logging_precisions)
286 string(REPLACE ";
" ",
" known_logging_precisions_list "${known_logging_precisions}
")
288 "`PARAVIEW_LOGGING_TIME_PRECISION` must be one of
"
289 "${known_logging_precisions_list}; given
'${PARAVIEW_LOGGING_TIME_PRECISION}'")
292 #========================================================================
293 # OBSOLETE OPTIONS: mark obsolete settings
294 #========================================================================
295 vtk_obsolete_setting(PARAVIEW_ENABLE_LOGGING)
296 vtk_obsolete_setting(PARAVIEW_ENABLE_QT_SUPPORT)
297 vtk_obsolete_setting(PARAVIEW_ENABLE_COMMANDLINE_TOOLS)
298 vtk_obsolete_setting(PARAVIEW_FREEZE_PYTHON)
299 vtk_obsolete_setting(PARAVIEW_USE_MPI_SSEND)
300 vtk_obsolete_setting(PARAVIEW_USE_ICE_T)
302 #========================================================================================
303 # Build up list of required and rejected modules
304 #========================================================================================
305 set(paraview_requested_modules)
306 set(paraview_rejected_modules)
309 Conditionally require/reject optional modules
311 Use this macro to conditionally require (or reject) modules.
314 paraview_require_module(
316 [CONDITION <condition>]
320 The arguments are as follows:
322 * `MODULES`: (Required) The list of modules.
323 * `CONDITION`: (Defaults to `TRUE`) The condition under which the modules
324 specified are added to the requested list.
325 * `EXCLUSIVE`: When sepcified, if `CONDITION` is false, the module will be
326 added to the rejected modules list.
328 macro (paraview_require_module)
329 cmake_parse_arguments(pem
335 if (pem_UNPARSED_ARGUMENTS)
338 "${pem_UNPARSED_ARGUMENTS}
")
341 if (NOT DEFINED pem_CONDITION)
342 set(pem_CONDITION TRUE)
345 if (${pem_CONDITION})
346 # message("${pem_CONDITION} == TRUE
")
347 list(APPEND paraview_requested_modules ${pem_MODULES})
348 foreach (_pem_module IN LISTS _pem_MODULES)
349 set("_vtk_module_reason_${_pem_module}
"
350 "via `${pem_CONDITION}`
")
352 elseif (pem_EXCLUSIVE)
353 # message("${pem_CONDITION} == FALSE
")
354 list(APPEND paraview_rejected_modules ${pem_MODULES})
355 foreach (_pem_module IN LISTS _pem_MODULES)
356 set("_vtk_module_reason_${_pem_module}
"
357 "via `${pem_CONDITION}`
")
364 unset(pem_UNPARSED_ARGUMENTS)
368 # ensures that VTK::mpi module is rejected when MPI is not enabled.
369 paraview_require_module(
370 CONDITION PARAVIEW_USE_MPI
371 MODULES VTK::ParallelMPI
375 paraview_require_module(
376 CONDITION PARAVIEW_USE_MPI AND PARAVIEW_ENABLE_RENDERING
377 MODULES VTK::RenderingParallelLIC
380 # ensures VTK::Python module is rejected when Python is not enabled.
381 paraview_require_module(
382 CONDITION PARAVIEW_USE_PYTHON
384 VTK::PythonInterpreter
387 paraview_require_module(
388 CONDITION PARAVIEW_USE_PYTHON AND PARAVIEW_ENABLE_RENDERING AND PARAVIEW_BUILD_CANONICAL
389 MODULES VTK::RenderingMatplotlib)
391 paraview_require_module(
392 CONDITION PARAVIEW_USE_VTKM
393 MODULES VTK::AcceleratorsVTKmFilters
396 paraview_require_module(
397 CONDITION PARAVIEW_ENABLE_RAYTRACING AND PARAVIEW_ENABLE_RENDERING
398 MODULES VTK::RenderingRayTracing
401 paraview_require_module(
402 CONDITION PARAVIEW_ENABLE_RAYTRACING AND VTK_ENABLE_OSPRAY
403 MODULES ParaView::VTKExtensionsShaderBall
406 paraview_require_module(
407 CONDITION PARAVIEW_ENABLE_NVPIPE
408 MODULES ParaView::nvpipe
411 paraview_require_module(
412 CONDITION PARAVIEW_ENABLE_ALEMBIC
413 MODULES VTK::IOAlembic
416 paraview_require_module(
417 CONDITION PARAVIEW_ENABLE_GDAL
421 paraview_require_module(
422 CONDITION PARAVIEW_ENABLE_LAS
426 paraview_require_module(
427 CONDITION PARAVIEW_ENABLE_GEOVIS
428 MODULES VTK::GeovisCore
431 paraview_require_module(
432 CONDITION PARAVIEW_ENABLE_OPENTURNS
433 MODULES VTK::FiltersOpenTURNS
436 paraview_require_module(
437 CONDITION PARAVIEW_ENABLE_PDAL
441 paraview_require_module(
442 CONDITION PARAVIEW_ENABLE_MOTIONFX
443 MODULES VTK::IOMotionFX
446 paraview_require_module(
447 CONDITION PARAVIEW_ENABLE_MOMENTINVARIANTS
448 MODULES VTK::MomentInvariants
451 paraview_require_module(
452 CONDITION PARAVIEW_ENABLE_MOMENTINVARIANTS AND PARAVIEW_USE_MPI
453 MODULES VTK::ParallelMomentInvariants
456 paraview_require_module(
457 CONDITION PARAVIEW_ENABLE_LOOKINGGLASS
458 MODULES VTK::RenderingLookingGlass
461 paraview_require_module(
462 CONDITION PARAVIEW_ENABLE_VISITBRIDGE
463 MODULES ParaView::IOVisItBridge
467 paraview_require_module(
468 CONDITION PARAVIEW_ENABLE_XDMF2
472 paraview_require_module(
473 CONDITION PARAVIEW_ENABLE_XDMF3
477 paraview_require_module(
478 CONDITION PARAVIEW_ENABLE_ADIOS2
479 MODULES VTK::IOADIOS2
482 paraview_require_module(
483 CONDITION PARAVIEW_ENABLE_FIDES
487 paraview_require_module(
488 CONDITION PARAVIEW_ENABLE_OPENVDB
489 MODULES VTK::IOOpenVDB
492 paraview_require_module(
493 CONDITION PARAVIEW_ENABLE_FFMPEG
494 MODULES VTK::IOFFMPEG
497 paraview_require_module(
498 CONDITION PARAVIEW_ENABLE_CGNS_READER
499 MODULES VTK::IOCGNSReader
502 paraview_require_module(
503 CONDITION PARAVIEW_ENABLE_CGNS_WRITER
504 MODULES ParaView::VTKExtensionsIOCGNSWriter
507 paraview_require_module(
508 CONDITION PARAVIEW_ENABLE_CGNS_WRITER AND PARAVIEW_USE_MPI
509 MODULES ParaView::VTKExtensionsIOParallelCGNSWriter
512 paraview_require_module(
513 CONDITION PARAVIEW_ENABLE_WEB AND PARAVIEW_USE_PYTHON
518 paraview_require_module(
519 CONDITION PARAVIEW_ENABLE_OCCT
523 paraview_require_module(
524 CONDITION PARAVIEW_BUILD_CANONICAL
525 MODULES ParaView::VTKExtensionsFiltersGeneral
526 VTK::DomainsChemistry
529 VTK::FiltersExtraction
530 VTK::FiltersFlowPaths
535 VTK::FiltersHyperTree
537 VTK::FiltersOpenTURNS
539 VTK::FiltersParallelDIY2
540 VTK::FiltersParallelVerdict
542 VTK::FiltersStatistics
551 VTK::IOAsynchronous # needed for cinema
563 paraview_require_module(
564 CONDITION PARAVIEW_BUILD_CANONICAL AND PARAVIEW_ENABLE_NONESSENTIAL
575 VTK::IOParallelExodus
576 VTK::IOParallelLSDyna
585 paraview_require_module(
586 CONDITION PARAVIEW_ENABLE_RENDERING AND PARAVIEW_BUILD_CANONICAL
587 MODULES VTK::FiltersTexture
588 VTK::RenderingFreeType)
590 paraview_require_module(
591 CONDITION PARAVIEW_USE_MPI AND PARAVIEW_USE_PYTHON
592 MODULES VTK::ParallelMPI4Py)
594 paraview_require_module(
595 CONDITION PARAVIEW_USE_MPI AND PARAVIEW_BUILD_CANONICAL
596 MODULES VTK::FiltersParallelFlowPaths
597 VTK::FiltersParallelGeometry
598 VTK::FiltersParallelMPI
601 paraview_require_module(
602 CONDITION PARAVIEW_USE_MPI AND PARAVIEW_BUILD_CANONICAL AND PARAVIEW_ENABLE_NONESSENTIAL
603 MODULES VTK::IOParallelNetCDF)
605 paraview_require_module(
606 CONDITION PARAVIEW_BUILD_CANONICAL AND PARAVIEW_ENABLE_RENDERING AND PARAVIEW_ENABLE_NONESSENTIAL
607 MODULES ParaView::RemotingMisc
608 ParaView::RemotingExport
609 ParaView::RemotingLive
610 ParaView::RemotingAnimation)
612 # Legacy Catalyst Python modules depends on paraview.tpl.cinema_python
613 paraview_require_module(
614 CONDITION PARAVIEW_USE_PYTHON
615 MODULES ParaView::CinemaPython)
617 paraview_require_module(
618 CONDITION PARAVIEW_ENABLE_CATALYST
619 MODULES VTK::IOCatalystConduit
622 if (NOT PARAVIEW_ENABLE_NONESSENTIAL)
623 # This ensures that we don't ever enable certain problematic
624 # modules when PARAVIEW_ENABLE_NONESSENTIAL is OFF.
625 set(nonessential_modules
632 # PARAVIEW_ENABLE_CGNS_* are the only options that can force the need for cgns and
633 # hdf5 TPLs when PARAVIEW_ENABLE_NONESSENTIAL is true.
634 if (NOT PARAVIEW_ENABLE_CGNS_READER AND NOT PARAVIEW_ENABLE_CGNS_WRITER)
635 list(APPEND nonessential_modules
640 list(APPEND paraview_rejected_modules
641 ${nonessential_modules})
642 foreach (nonessential_module IN LISTS nonessential_modules)
643 set("_vtk_module_reason_${nonessential_module}
"
644 "via `PARAVIEW_ENABLE_NONESSENTIAL` (via `PARAVIEW_BUILD_EDITION=${PARAVIEW_BUILD_EDITION}`)
")
647 function (_paraview_io_option_conflict option name)
650 "ParaView is configured without I/O support (via the
"
651 "${PARAVIEW_BUILD_EDITION} edition) which is incompatible with the
"
652 "request
for ${
name} support (via the `${option}` configure option)
")
656 _paraview_io_option_conflict(PARAVIEW_ENABLE_ADIOS2 "ADIOS 2.x
")
657 _paraview_io_option_conflict(PARAVIEW_ENABLE_ALEMBIC Alembic)
658 _paraview_io_option_conflict(PARAVIEW_ENABLE_FFMPEG FFmpeg)
659 _paraview_io_option_conflict(PARAVIEW_ENABLE_FIDES Fides)
660 _paraview_io_option_conflict(PARAVIEW_ENABLE_GDAL GDAL)
661 _paraview_io_option_conflict(PARAVIEW_ENABLE_LAS LAS)
662 _paraview_io_option_conflict(PARAVIEW_ENABLE_MOTIONFX MotionFX)
663 _paraview_io_option_conflict(PARAVIEW_ENABLE_OPENTURNS OpenTURNS)
664 _paraview_io_option_conflict(PARAVIEW_ENABLE_PDAL PDAL)
665 _paraview_io_option_conflict(PARAVIEW_ENABLE_VISITBRIDGE VisItBridge)
666 _paraview_io_option_conflict(PARAVIEW_ENABLE_XDMF2 xdmf2)
667 _paraview_io_option_conflict(PARAVIEW_ENABLE_XDMF3 xdmf3)
670 if (NOT PARAVIEW_ENABLE_RENDERING)
671 # This ensures that we don't ever enable OpenGL
672 # modules when PARAVIEW_ENABLE_RENDERING is OFF.
673 set(rendering_modules
676 list(APPEND paraview_rejected_modules
677 ${rendering_modules})
678 foreach (rendering_module IN LISTS rendering_modules)
679 set("_vtk_module_reason_${rendering_module}
"
680 "via `PARAVIEW_ENABLE_RENDERING` (via `PARAVIEW_BUILD_EDITION=${PARAVIEW_BUILD_EDITION}`)
")
683 function (_paraview_rendering_option_conflict option name)
686 "ParaView is configured without Rendering support (via the
"
687 "${PARAVIEW_BUILD_EDITION} edition) which is incompatible with the
"
688 "request
for ${
name} support (via the `${option}` configure option)
")
692 _paraview_rendering_option_conflict(PARAVIEW_ENABLE_RAYTRACING raytracing)
693 _paraview_rendering_option_conflict(PARAVIEW_USE_QT Qt)
696 if (paraview_requested_modules)
697 list(REMOVE_DUPLICATES paraview_requested_modules)
700 if (paraview_rejected_modules)
701 list(REMOVE_DUPLICATES paraview_rejected_modules)