1 #======================================================================== 3 # Options that affect the ParaView build, in general. 4 # These should begin with `PARAVIEW_BUILD_`. 5 #======================================================================== 8 option(PARAVIEW_BUILD_SHARED_LIBS
"Build ParaView with shared libraries" "${shared_default}")
11 option(PARAVIEW_BUILD_LEGACY_REMOVE
"Remove all legacy code completely" "${legacy_remove_default}")
12 mark_as_advanced(PARAVIEW_BUILD_LEGACY_REMOVE)
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. 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)
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`")
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 cmake_dependent_option(PARAVIEW_BUILD_EDITION_STRICT
58 "Restrict VTK modules to those strictly needed by the PARAVIEW_BUILD_EDITION" ON
59 "NOT PARAVIEW_USE_EXTERNAL_VTK" OFF)
61 set(PARAVIEW_BUILD_CANONICAL OFF)
62 set(PARAVIEW_ENABLE_RENDERING OFF)
63 set(PARAVIEW_ENABLE_NONESSENTIAL OFF)
64 if (PARAVIEW_BUILD_EDITION STREQUAL
"CORE")
66 elseif (PARAVIEW_BUILD_EDITION STREQUAL
"RENDERING")
67 set(PARAVIEW_ENABLE_RENDERING ON)
68 elseif (PARAVIEW_BUILD_EDITION STREQUAL
"CATALYST")
69 set(PARAVIEW_BUILD_CANONICAL ON)
70 elseif (PARAVIEW_BUILD_EDITION STREQUAL
"CATALYST_RENDERING")
71 set(PARAVIEW_ENABLE_RENDERING ON)
72 set(PARAVIEW_BUILD_CANONICAL ON)
73 elseif (PARAVIEW_BUILD_EDITION STREQUAL
"CANONICAL")
74 set(PARAVIEW_ENABLE_RENDERING ON)
75 set(PARAVIEW_BUILD_CANONICAL ON)
76 set(PARAVIEW_ENABLE_NONESSENTIAL ON)
79 # We want to warn users if PARAVIEW_BUILD_EDITION is changed after first configure since the default 80 # state of various other settings may not be what user expects. 81 if (DEFINED _paraview_build_edition_cached AND
82 NOT _paraview_build_edition_cached STREQUAL PARAVIEW_BUILD_EDITION)
84 "Changing `PARAVIEW_BUILD_EDITION` after first configure will not setup " 85 "defaults for others settings correctly e.g. plugins enabled. It is " 86 "recommended that you start with a clean build directory and pass the " 87 "option to CMake using " 88 "'-DPARAVIEW_BUILD_EDITION:STRING=${PARAVIEW_BUILD_EDITION}'.")
90 set(_paraview_build_edition_cached "${PARAVIEW_BUILD_EDITION}
" CACHE INTERNAL "") 92 set(VTK_GROUP_ENABLE_PARAVIEW_CORE "YES
" CACHE INTERNAL "") 93 if (PARAVIEW_BUILD_CANONICAL) 94 set(VTK_GROUP_ENABLE_PARAVIEW_CANONICAL "YES
" CACHE INTERNAL "") 96 set(VTK_GROUP_ENABLE_PARAVIEW_CANONICAL "NO
" CACHE INTERNAL "") 99 #======================================================================== 100 # CAPABILITY OPTIONS: 101 # Options that affect the build capabilities. 102 # These should begin with `PARAVIEW_USE_`. 103 #======================================================================== 105 option(PARAVIEW_USE_MPI "Enable MPI support
for parallel computing
" OFF) 106 option(PARAVIEW_SERIAL_TESTS_USE_MPIEXEC 107 "Used
on HPC to run serial tests
on compute nodes
" OFF) 108 mark_as_advanced(PARAVIEW_SERIAL_TESTS_USE_MPIEXEC) 109 option(PARAVIEW_USE_CUDA "Support CUDA compilation
" OFF) 111 vtk_deprecated_setting(default_use_viskores PARAVIEW_USE_VISKORES PARAVIEW_USE_VTKM "${PARAVIEW_ENABLE_NONESSENTIAL}
") 112 option(PARAVIEW_USE_VISKORES "Enable Viskores accelerated algorithms
" "${default_use_viskores}
") 114 if (UNIX AND NOT APPLE) 115 option(PARAVIEW_USE_MEMKIND "Build support
for extended memory
" OFF) 118 # Add option to disable Fortran 120 include(CheckFortran) 121 check_fortran_support() 122 if (CMAKE_Fortran_COMPILER) 123 set(_has_fortran TRUE) 125 set(_has_fortran FALSE) 127 cmake_dependent_option(PARAVIEW_USE_FORTRAN "Enable Fortran support
" ON 129 mark_as_advanced(PARAVIEW_USE_FORTRAN) 133 vtk_deprecated_setting(python_default PARAVIEW_USE_PYTHON PARAVIEW_ENABLE_PYTHON OFF) 134 option(PARAVIEW_USE_PYTHON "Enable/Disable Python scripting support
" "${python_default}
") 136 option(PARAVIEW_USE_SERIALIZATION "Enable/Disable Serialization support
" OFF) 138 # Currently, we're making `PARAVIEW_USE_QT` available only when doing CANONICAL 139 # builds with RENDERING. This is technically not necessary so we can support that 140 # use-case if needed in future but will require some work to make sure the Qt components 141 # work correctly with missing proxies. 142 vtk_deprecated_setting(qt_gui_default PARAVIEW_USE_QT PARAVIEW_BUILD_QT_GUI "ON
") 143 cmake_dependent_option(PARAVIEW_USE_QT 144 "Enable Qt-support needed
for graphical UI
" "${qt_gui_default}
" 145 "PARAVIEW_BUILD_CANONICAL;PARAVIEW_ENABLE_RENDERING;PARAVIEW_ENABLE_NONESSENTIAL
" OFF) 147 # Add an option to enable using Qt WebEngine for widgets, as needed. 148 # Default is OFF. We don't want to depend on WebEngine unless absolutely needed. 149 cmake_dependent_option(PARAVIEW_USE_QTWEBENGINE 150 "Use Qt WebEngine components as needed.
" OFF 151 "PARAVIEW_USE_QT
" OFF) 152 mark_as_advanced(PARAVIEW_USE_QTWEBENGINE) 154 # Add an option to enable using Qt Help, as needed. 155 # Default is ON to enable integrated help/documentation. 156 cmake_dependent_option(PARAVIEW_USE_QTHELP 157 "Use Qt Help infrastructure as needed.
" ON 158 "PARAVIEW_USE_QT
" OFF) 159 mark_as_advanced(PARAVIEW_USE_QTHELP) 161 if (PARAVIEW_USE_QTHELP AND NOT PARAVIEW_USE_QTWEBENGINE) 162 message(STATUS "Using
'QtHelp' without
'QtWebEngine' will ignore embedded javascript and *.js files
for documentation") 165 if (PARAVIEW_ENABLE_RAYTRACING AND VTK_ENABLE_OSPRAY) 166 set(paraview_use_materialeditor ON) 168 set(paraview_use_materialeditor OFF) 171 #======================================================================== 173 # Options that toggle features. These should begin with `PARAVIEW_ENABLE_`. 174 #======================================================================== 176 option(PARAVIEW_ENABLE_ANARI "Enable Anari Support
" OFF) 178 vtk_deprecated_setting(raytracing_default PARAVIEW_ENABLE_RAYTRACING PARAVIEW_USE_RAYTRACING "OFF
") 179 option(PARAVIEW_ENABLE_RAYTRACING "Build ParaView with OSPray and/or OptiX ray-tracing support
" ${raytracing_default}) 181 if (PARAVIEW_ENABLE_RAYTRACING AND NOT VTK_ENABLE_OSPRAY AND NOT VTK_ENABLE_VISRTX) 182 message(WARNING "Ray Tracing module is activated without any ray tracing implementation.
183 Please activate either VTK_ENABLE_OSPRAY and/or VTK_ENABLE_VISRTX in
order to provide a raytracing implementation
for ParaView.
") 186 set(paraview_web_default ON) 187 if (PARAVIEW_USE_PYTHON AND WIN32) 188 include(ParaViewFindPythonModules) 189 find_python_module(win32api have_pywin32) 190 set(paraview_web_default "${have_pywin32}
") 193 if (NOT PARAVIEW_BUILD_EDITION STREQUAL "CANONICAL
") 194 set(paraview_web_default OFF) 196 cmake_dependent_option(PARAVIEW_ENABLE_WEB "Enable/Disable web support
" "${paraview_web_default}
" 197 "PARAVIEW_USE_PYTHON
" OFF) 199 # NvPipe requires an NVIDIA GPU. 200 option(PARAVIEW_ENABLE_NVPIPE "Build ParaView with NvPipe remoting. Requires CUDA and an NVIDIA GPU
" OFF) 201 if (PARAVIEW_ENABLE_NVPIPE) 203 "NvPipe is not longer supported. See
" 205 set(PARAVIEW_ENABLE_NVPIPE OFF)
208 option(PARAVIEW_ENABLE_OPENVDB
"Enable the OpenVDB Writer" OFF)
210 option(PARAVIEW_ENABLE_NANOVDB
"Enable the NanoVDB Writer" OFF)
212 option(PARAVIEW_ENABLE_ALEMBIC
"Enable Alembic support." OFF)
214 option(PARAVIEW_ENABLE_GDAL
"Enable GDAL support." OFF)
216 option(PARAVIEW_ENABLE_LAS
"Enable LAS support." OFF)
218 option(PARAVIEW_ENABLE_OPENTURNS
"Enable OpenTURNS support." OFF)
220 option(PARAVIEW_ENABLE_PDAL
"Enable PDAL support." OFF)
222 option(PARAVIEW_ENABLE_MOTIONFX
"Enable MotionFX support." OFF)
224 option(PARAVIEW_ENABLE_MOMENTINVARIANTS
"Enable MomentInvariants filters" OFF)
226 option(PARAVIEW_ENABLE_LOOKINGGLASS
"Enable LookingGlass displays" OFF)
228 option(PARAVIEW_ENABLE_VISITBRIDGE
"Enable VisIt readers." OFF)
230 option(PARAVIEW_ENABLE_CATALYST
"Enable ParaViewCatalyst implementation" OFF)
232 # default to ON for CANONICAL builds, else OFF. 233 set(xdmf2_default OFF)
234 if (PARAVIEW_BUILD_CANONICAL AND PARAVIEW_ENABLE_NONESSENTIAL)
235 set(xdmf2_default ON)
237 option(PARAVIEW_ENABLE_XDMF2
"Enable Xdmf2 support." "${xdmf2_default}")
239 option(PARAVIEW_ENABLE_XDMF3
"Enable Xdmf3 support." OFF)
241 option(PARAVIEW_ENABLE_ADIOS2
"Enable ADIOS 2.x support." OFF)
243 option(PARAVIEW_ENABLE_FIDES
"Enable Fides support." OFF)
245 # Fides support inside the ParaView Catalyst implementation. This lets a 246 # simulation hand ParaView data over a Catalyst "fides_conduit" channel: an 247 # in-memory Conduit tree read directly by the Fides reader (no ADIOS2 file or 248 # SST stream). It enables the Fides reader and forces the VTK::conduit module 249 # on (required for Fides' in-memory Conduit data source). It does NOT enable 250 # the ADIOS2 reader (PARAVIEW_ENABLE_ADIOS2); note, however, that the adios2 251 # library is still required to build Fides itself, and that VTK::conduit 252 # requires Catalyst to have been built against the same external Conduit 253 # (CATALYST_WITH_EXTERNAL_CONDUIT=ON). 254 cmake_dependent_option(PARAVIEW_ENABLE_CATALYST_FIDES
255 "Enable Fides (in-memory Conduit) support in the ParaView Catalyst implementation" OFF
256 "PARAVIEW_ENABLE_CATALYST" OFF)
258 option(PARAVIEW_ENABLE_FFMPEG
"Enable FFMPEG Support." OFF)
260 option(PARAVIEW_ENABLE_OCCT
"Enable OCCT Support." OFF)
262 option(PARAVIEW_ENABLE_IFC
"Enable IFC Support." OFF)
264 option(PARAVIEW_BUILD_TRANSLATIONS
"Generate translation files" OFF)
265 if (PARAVIEW_BUILD_TRANSLATIONS)
266 set(PARAVIEW_TRANSLATIONS_DIRECTORY
"${CMAKE_BINARY_DIR}/Translations" CACHE STRING
267 "The directory containing translation files")
270 # If building on Unix with MPI enabled, we will present another option to 271 # enable building of CosmoTools VTK extensions. This option is by default 272 # OFF and set to OFF if ParaView is not built with MPI. 273 cmake_dependent_option(PARAVIEW_ENABLE_COSMOTOOLS
274 "Build ParaView with CosmoTools VTK Extensions" OFF
275 "UNIX;PARAVIEW_USE_MPI" OFF)
277 # PARAVIEW_ENABLE_CGNS_* option is only shown when PARAVIEW_ENABLE_NONESSENTIAL is 278 # OFF and then it defaults to OFF. If PARAVIEW_ENABLE_NONESSENTIAL is ON, then 279 # PARAVIEW_ENABLE_CGNS_* is set to ON as well and presented to the user at all. 280 cmake_dependent_option(PARAVIEW_ENABLE_CGNS_READER
281 "Enable CGNS Reader Support" OFF
282 "NOT PARAVIEW_ENABLE_NONESSENTIAL" ON)
283 cmake_dependent_option(PARAVIEW_ENABLE_CGNS_WRITER
284 "Enable CGNS Reader Support" OFF
285 "NOT PARAVIEW_ENABLE_NONESSENTIAL" ON)
287 #======================================================================== 288 # MISCELLANEOUS OPTIONS: 289 # Options that are hard to classify. Keep this list minimal. 290 # These should be advanced by default. 291 #======================================================================== 292 option(PARAVIEW_INSTALL_DEVELOPMENT_FILES
"Install development files to the install tree" ON)
293 mark_as_advanced(PARAVIEW_INSTALL_DEVELOPMENT_FILES)
295 option(PARAVIEW_RELOCATABLE_INSTALL
"Do not embed hard-coded paths into the install" ON)
296 mark_as_advanced(PARAVIEW_RELOCATABLE_INSTALL)
298 option(PARAVIEW_GENERATE_SPDX
"Generate SPDX file for each module." OFF)
299 mark_as_advanced(PARAVIEW_GENERATE_SPDX)
301 cmake_dependent_option(PARAVIEW_INITIALIZE_MPI_ON_CLIENT
302 "Initialize MPI on client-processes by default. Can be overridden using command line arguments" ON
303 "PARAVIEW_USE_MPI" OFF)
304 mark_as_advanced(PARAVIEW_INITIALIZE_MPI_ON_CLIENT)
306 set(PARAVIEW_LOGGING_TIME_PRECISION
"3" 307 CACHE STRING
"Precision of loguru scope timers. 3=ms, 6=us, 9=ns")
308 mark_as_advanced(PARAVIEW_LOGGING_TIME_PRECISION)
309 set(known_logging_precisions 3 6 9)
310 set_property(CACHE PARAVIEW_LOGGING_TIME_PRECISION
312 STRINGS ${known_logging_precisions})
313 if (NOT PARAVIEW_LOGGING_TIME_PRECISION IN_LIST known_logging_precisions)
314 string(REPLACE
";" ", " known_logging_precisions_list
"${known_logging_precisions}")
316 "`PARAVIEW_LOGGING_TIME_PRECISION` must be one of " 317 "${known_logging_precisions_list}; given '${PARAVIEW_LOGGING_TIME_PRECISION}'")
320 #======================================================================== 321 # OBSOLETE OPTIONS: mark obsolete settings 322 #======================================================================== 330 #======================================================================================== 331 # Build up list of required and rejected modules 332 #======================================================================================== 333 set(paraview_requested_modules)
334 set(paraview_rejected_modules)
337 Conditionally require/reject optional modules
339 Use
this macro to conditionally require (or reject) modules.
344 [CONDITION <condition>]
348 The arguments are as follows:
350 * `MODULES`: (Required) The list of modules.
351 * `CONDITION`: (Defaults to `TRUE`) The condition under which the modules
352 specified are added to the requested list.
353 * `EXCLUSIVE`: When sepcified,
if `CONDITION` is
false, the module will be
354 added to the rejected modules list.
357 cmake_parse_arguments(pem
363 if (pem_UNPARSED_ARGUMENTS)
365 "Unparsed arguments for `paraview_require_module`: " 366 "${pem_UNPARSED_ARGUMENTS}")
369 if (NOT DEFINED pem_CONDITION)
370 set(pem_CONDITION TRUE)
373 if (${pem_CONDITION})
374 # message(
"${pem_CONDITION} == TRUE")
375 list(APPEND paraview_requested_modules ${pem_MODULES})
376 foreach (_pem_module IN LISTS _pem_MODULES)
377 set(
"_vtk_module_reason_${_pem_module}" 378 "via `${pem_CONDITION}`")
380 elseif (pem_EXCLUSIVE)
381 # message(
"${pem_CONDITION} == FALSE")
382 list(APPEND paraview_rejected_modules ${pem_MODULES})
383 foreach (_pem_module IN LISTS _pem_MODULES)
384 set(
"_vtk_module_reason_${_pem_module}" 385 "via `${pem_CONDITION}`")
392 unset(pem_UNPARSED_ARGUMENTS)
396 # ensures that VTK::mpi module is rejected when MPI is not
enabled.
397 paraview_require_module(
398 CONDITION PARAVIEW_USE_MPI
399 MODULES VTK::ParallelMPI
404 CONDITION PARAVIEW_USE_MPI AND PARAVIEW_ENABLE_RENDERING
405 MODULES VTK::RenderingParallelLIC
408 # ensures VTK::Python module is rejected when Python is not enabled. 410 CONDITION PARAVIEW_USE_PYTHON
412 VTK::PythonInterpreter
413 ParaView::PythonInterpreterPath
417 CONDITION PARAVIEW_USE_PYTHON AND PARAVIEW_ENABLE_RENDERING AND PARAVIEW_BUILD_CANONICAL
418 MODULES VTK::RenderingMatplotlib)
421 CONDITION PARAVIEW_USE_VISKORES
422 MODULES VTK::AcceleratorsVTKmFilters
426 CONDITION PARAVIEW_ENABLE_RAYTRACING AND PARAVIEW_ENABLE_RENDERING
427 MODULES VTK::RenderingRayTracing
431 CONDITION PARAVIEW_ENABLE_RENDERING AND PARAVIEW_ENABLE_ANARI
432 MODULES VTK::RenderingAnari
436 CONDITION PARAVIEW_ENABLE_RAYTRACING AND VTK_ENABLE_OSPRAY
437 MODULES ParaView::VTKExtensionsShaderBall
441 CONDITION PARAVIEW_ENABLE_NVPIPE
446 CONDITION PARAVIEW_ENABLE_ALEMBIC
447 MODULES VTK::IOAlembic
451 CONDITION PARAVIEW_ENABLE_GDAL
456 CONDITION PARAVIEW_ENABLE_LAS
461 CONDITION PARAVIEW_ENABLE_OPENTURNS
462 MODULES VTK::FiltersOpenTURNS
466 CONDITION PARAVIEW_ENABLE_PDAL
471 CONDITION PARAVIEW_ENABLE_MOTIONFX
472 MODULES VTK::IOMotionFX
476 CONDITION PARAVIEW_ENABLE_MOMENTINVARIANTS
477 MODULES VTK::MomentInvariants
481 CONDITION PARAVIEW_ENABLE_MOMENTINVARIANTS AND PARAVIEW_USE_MPI
482 MODULES VTK::ParallelMomentInvariants
486 CONDITION PARAVIEW_ENABLE_LOOKINGGLASS
487 MODULES VTK::RenderingLookingGlass
491 CONDITION PARAVIEW_ENABLE_VISITBRIDGE
492 MODULES ParaView::IOVisItBridge
497 CONDITION PARAVIEW_ENABLE_XDMF2
502 CONDITION PARAVIEW_ENABLE_XDMF3
507 CONDITION PARAVIEW_ENABLE_ADIOS2
508 MODULES VTK::IOADIOS2
512 CONDITION PARAVIEW_ENABLE_FIDES OR PARAVIEW_ENABLE_CATALYST_FIDES
516 # The Catalyst "fides_conduit" channel needs the Fides reader's in-memory 517 # Conduit data source, which is only compiled when VTK::conduit is enabled. 518 # Not EXCLUSIVE: other features may legitimately enable VTK::conduit too. 520 CONDITION PARAVIEW_ENABLE_CATALYST_FIDES
521 MODULES VTK::conduit)
524 CONDITION PARAVIEW_ENABLE_OPENVDB
525 MODULES VTK::IOOpenVDB
529 CONDITION PARAVIEW_ENABLE_NANOVDB
530 MODULES VTK::IONanoVDB
534 CONDITION PARAVIEW_ENABLE_FFMPEG
535 MODULES VTK::IOFFMPEG
539 CONDITION PARAVIEW_ENABLE_CGNS_READER
540 MODULES VTK::IOCGNSReader
544 CONDITION PARAVIEW_ENABLE_CGNS_WRITER
545 MODULES ParaView::VTKExtensionsIOCGNSWriter
549 CONDITION PARAVIEW_ENABLE_CGNS_WRITER AND PARAVIEW_USE_MPI
550 MODULES ParaView::VTKExtensionsIOParallelCGNSWriter
554 CONDITION PARAVIEW_ENABLE_WEB AND PARAVIEW_USE_PYTHON
560 CONDITION PARAVIEW_USE_SERIALIZATION
561 MODULES VTK::SerializationManager
565 CONDITION PARAVIEW_ENABLE_OCCT
570 CONDITION PARAVIEW_ENABLE_IFC
575 CONDITION PARAVIEW_BUILD_CANONICAL
576 MODULES ParaView::VTKExtensionsFiltersGeneral
577 VTK::DomainsChemistry
581 VTK::FiltersExtraction
582 VTK::FiltersFlowPaths
587 VTK::FiltersHyperTree
590 VTK::FiltersParallelDIY2
591 VTK::FiltersParallelVerdict
593 VTK::FiltersStatistics
603 VTK::IOAsynchronous # needed
for cinema
616 CONDITION PARAVIEW_BUILD_CANONICAL AND PARAVIEW_ENABLE_NONESSENTIAL
631 VTK::IOParallelExodus
632 VTK::IOParallelLSDyna
641 CONDITION PARAVIEW_ENABLE_RENDERING AND PARAVIEW_BUILD_CANONICAL
642 MODULES VTK::FiltersTexture
643 VTK::RenderingCellGrid
644 VTK::RenderingFreeType
648 CONDITION PARAVIEW_USE_MPI AND PARAVIEW_USE_PYTHON
649 MODULES VTK::ParallelMPI4Py)
652 CONDITION PARAVIEW_USE_MPI AND PARAVIEW_BUILD_CANONICAL
653 MODULES VTK::FiltersParallelFlowPaths
654 VTK::FiltersParallelGeometry
655 VTK::FiltersParallelMPI
659 CONDITION PARAVIEW_USE_MPI AND PARAVIEW_BUILD_CANONICAL AND PARAVIEW_ENABLE_NONESSENTIAL
660 MODULES VTK::IOParallelNetCDF
664 CONDITION PARAVIEW_BUILD_CANONICAL AND PARAVIEW_ENABLE_RENDERING AND PARAVIEW_ENABLE_NONESSENTIAL
665 MODULES ParaView::RemotingMisc
666 ParaView::RemotingExport
667 ParaView::RemotingLive
668 ParaView::RemotingAnimation)
670 # Legacy Catalyst Python modules depends on paraview.tpl.cinema_python 672 CONDITION PARAVIEW_USE_PYTHON
673 MODULES ParaView::CinemaPython)
676 CONDITION PARAVIEW_ENABLE_CATALYST
677 MODULES VTK::IOCatalystConduit
680 if (NOT PARAVIEW_ENABLE_NONESSENTIAL)
681 # This ensures that we don't ever enable certain problematic 682 # modules when PARAVIEW_ENABLE_NONESSENTIAL is OFF. 683 set(nonessential_modules
690 # PARAVIEW_ENABLE_CGNS_* are the only options that can force the need
for cgns
691 # TPL when PARAVIEW_ENABLE_NONESSENTIAL is
true.
692 if (NOT PARAVIEW_ENABLE_CGNS_READER AND NOT PARAVIEW_ENABLE_CGNS_WRITER)
693 list(APPEND nonessential_modules
696 # if testing is enabled, this is expected to have hdf5 TPL 697 # as VTK::IOHDF is a dependency of vtkTestingCore. But usual features should not 699 if (PARAVIEW_BUILD_TESTING STREQUAL
"OFF")
700 list(APPEND nonessential_modules
705 if (PARAVIEW_BUILD_EDITION_STRICT)
706 # Reject non-essential modules if in strict mode 707 list(APPEND paraview_rejected_modules
708 ${nonessential_modules})
710 foreach (nonessential_module IN LISTS nonessential_modules)
711 set(
"_vtk_module_reason_${nonessential_module}" 712 "via `PARAVIEW_ENABLE_NONESSENTIAL` (via `PARAVIEW_BUILD_EDITION=${PARAVIEW_BUILD_EDITION}`)")
715 function (_paraview_io_option_conflict option
name)
716 set(_error_level FATAL_ERROR)
717 if (NOT PARAVIEW_BUILD_EDITION_STRICT)
718 # Demote fatal error to debug for diagnostic purposes only. 719 set(_error_level DEBUG)
722 message(${_error_level}
723 "ParaView is configured without I/O support (via the " 724 "${PARAVIEW_BUILD_EDITION} edition) which is incompatible with the " 725 "request for ${name} support (via the `${option}` configure option)")
729 _paraview_io_option_conflict(PARAVIEW_ENABLE_ADIOS2
"ADIOS 2.x")
730 _paraview_io_option_conflict(PARAVIEW_ENABLE_ALEMBIC Alembic)
731 _paraview_io_option_conflict(PARAVIEW_ENABLE_FFMPEG FFmpeg)
732 _paraview_io_option_conflict(PARAVIEW_ENABLE_FIDES Fides)
733 _paraview_io_option_conflict(PARAVIEW_ENABLE_GDAL GDAL)
734 _paraview_io_option_conflict(PARAVIEW_ENABLE_LAS LAS)
735 _paraview_io_option_conflict(PARAVIEW_ENABLE_MOTIONFX MotionFX)
736 _paraview_io_option_conflict(PARAVIEW_ENABLE_OPENTURNS OpenTURNS)
737 _paraview_io_option_conflict(PARAVIEW_ENABLE_PDAL PDAL)
738 _paraview_io_option_conflict(PARAVIEW_ENABLE_VISITBRIDGE VisItBridge)
739 _paraview_io_option_conflict(PARAVIEW_ENABLE_XDMF2
xdmf2)
740 _paraview_io_option_conflict(PARAVIEW_ENABLE_XDMF3 xdmf3)
743 if (NOT PARAVIEW_ENABLE_RENDERING)
744 # This ensures that we don't ever enable OpenGL 745 # modules when PARAVIEW_ENABLE_RENDERING is OFF. 746 set(rendering_modules
748 if (PARAVIEW_BUILD_EDITION_STRICT)
749 # Reject rendering modules if in strict mode 750 list(APPEND paraview_rejected_modules
751 ${rendering_modules})
753 foreach (rendering_module IN LISTS rendering_modules)
754 set(
"_vtk_module_reason_${rendering_module}" 755 "via `PARAVIEW_ENABLE_RENDERING` (via `PARAVIEW_BUILD_EDITION=${PARAVIEW_BUILD_EDITION}`)")
758 function (_paraview_rendering_option_conflict option
name)
759 set(_error_level FATAL_ERROR)
760 if (NOT PARAVIEW_BUILD_EDITION_STRICT)
761 # Demote fatal error to debug for diagnostic purposes only. 762 set(_error_level DEBUG)
765 message(${_error_level}
766 "ParaView is configured without Rendering support (via the " 767 "${PARAVIEW_BUILD_EDITION} edition) which is incompatible with the " 768 "request for ${name} support (via the `${option}` configure option)")
772 _paraview_rendering_option_conflict(PARAVIEW_ENABLE_RAYTRACING raytracing)
773 _paraview_rendering_option_conflict(PARAVIEW_USE_QT Qt)
776 if (paraview_requested_modules)
777 list(REMOVE_DUPLICATES paraview_requested_modules)
780 if (paraview_rejected_modules)
781 list(REMOVE_DUPLICATES paraview_rejected_modules)
macro paraview_require_module()
Conditionally require/reject optional modules.
#define BUILD_SHARED_LIBS
function vtk_deprecated_setting(output_default, new, old, intended_default)
function vtk_obsolete_setting(old)