Commit 9a3277cf authored by Utkarsh Ayachit's avatar Utkarsh Ayachit Committed by Kitware Robot
Browse files

Merge topic 'editions-updates' into release

aebb06d3 expose `PARAVIEW_BUILD_EDITION` settings
f87438b3 remove deprecated 5.7.0 related options.
2d130b46 doc: update default paraview source selection to 5.8.0-RC1
05928ba1

 remove catalyst
Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
Acked-by: Cory Quammen's avatarCory Quammen <cory.quammen@kitware.com>
Acked-by: Ben Boeckel's avatarBen Boeckel <ben.boeckel@kitware.com>
Merge-request: !687
parents ed9845ff aebb06d3
......@@ -110,7 +110,6 @@ function (superbuild_find_projects var)
if (NOT APPLE)
list(APPEND projects
catalyst
egl
expat
fontconfig
......@@ -200,10 +199,6 @@ function (superbuild_sanity_check)
message(SEND_ERROR "Cannot enable OSMesa and Mesa at the same time.")
endif ()
# Sanity check: Cannot have ParaView and Catalyst enabled at the same time.
if (paraview_enabled AND catalyst_enabled)
message(SEND_ERROR "Cannot enable ParaView and Catalyst at the same time.")
endif ()
endfunction ()
function (superbuild_add_packaging)
......@@ -285,14 +280,6 @@ function (superbuild_add_packaging)
LABELS "ParaView"
TIMEOUT 6400)
endif ()
if (catalyst_enabled OR (paraview_enabled AND UNIX AND NOT APPLE))
if (NOT default_package)
set(default_package catalyst)
endif ()
superbuild_add_extra_package_test(catalyst "${generator}"
LABELS "ParaView"
TIMEOUT 6400)
endif ()
endforeach ()
if (paraviewsdk_enabled)
......
......@@ -103,9 +103,7 @@ different features within the resulting ParaView build. Most projects involve
downloading and adding the feature to the resulting package, but there are a
few which are used just to enable features within ParaView itself.
The `catalyst` and `paraview` projects are mutually exclusive (the libraries
conflict in the install tree). One of these two projects must be enabled.
The `catalyst` package is only available on Linux.
The `paraview` project must be enabled to build ParaView.
The `paraviewsdk` project enables the building of a package which includes
headers and libraries suitable for developing against ParaView. It is only available
......@@ -174,8 +172,6 @@ include:
* `paraview/DragNDrop`
* `paraview/TGZ`
* `paraview/TXZ`
* `catalyst/TGZ`
* `catalyst/TXZ`
* `paraviewsdk/TGZ`
* `paraviewsdk/TXZ`
......@@ -263,7 +259,7 @@ time.
The following flags affect ParaView directly:
* `paraview_SOURCE_SELECTION` (default `5.7.0`): The source to use for
* `paraview_SOURCE_SELECTION` (default `5.8.0-RC1`): The source to use for
ParaView itself. The version numbers use the source tarballs from the
website for the release. The `source` selection uses the
`paraview_SOURCE_DIR` variable to look at a checked out ParaView source
......@@ -301,12 +297,22 @@ The following flags affect ParaView directly:
pass to ParaView's configure step. This can be used to set CMake variables
for the build that are otherwise not exposed in the superbuild itself.
The following flags affect Catalyst:
* `PARAVIEW_CATALYST_EDITION` (default `Essentials`): The edition of
Catalyst to build (also available: `Extras` and `Rendering-Base`).
* `PARAVIEW_CATALYST_PYTHON` (default `ON`): Enable Python support in
Catalyst.
#### ParaView editions
A typical ParaView build includes several modules and dependencies. While these
are necessary for a fully functional application, there are cases (e.g. in situ
use-cases) where a build with limited set of features is adequate. ParaView build supports
this using the `PARAVIEW_BUILD_EDITION` setting. Supported values for this setting are:
* `CORE`: Build modules necessary for core ParaView functionality.
This does not include rendering.
* `RENDERING`: Build modules necessary for supporting rendering including views
and representations. This includes everything in `CORE`.
* `CATALYST`: Build all modules necessary for in situ use cases without
rendering and optional components like NetCDF- and HDF5-based readers and
writers.
* `CATALYST_RENDERING`: Same as `CATALYST` but with rendering supported added.
* `CANONICAL` (default): Build modules necessary for standard ParaView build.
### Packaging Variables
......
......@@ -2,6 +2,12 @@ set(PARAVIEW_EXTRA_CMAKE_ARGUMENTS ""
CACHE STRING "Extra arguments to be passed to ParaView when configuring.")
mark_as_advanced(PARAVIEW_EXTRA_CMAKE_ARGUMENTS)
set(PARAVIEW_BUILD_EDITION "CANONICAL"
CACHE STRING "Build selected ParaView Edition")
set_property(CACHE PARAVIEW_BUILD_EDITION
PROPERTY
STRINGS "CORE;RENDERING;CATALYST;CATALYST_RENDERING;CANONICAL")
option(PARAVIEW_DEFAULT_SYSTEM_GL "Default to using the system OpenGL" OFF)
set (paraview_extra_cmake_options)
......@@ -159,6 +165,7 @@ superbuild_add_project(paraview
-DPARAVIEW_BUILD_LEGACY_REMOVE:BOOL=ON
-DPARAVIEW_BUILD_SHARED_LIBS:BOOL=${paraview_build_shared_libs}
-DPARAVIEW_BUILD_TESTING:BOOL=OFF
-DPARAVIEW_BUILD_EDITION:STRING=${PARAVIEW_BUILD_EDITION}
-DPARAVIEW_ENABLE_ADIOS2:BOOL=${adios2_enabled}
-DPARAVIEW_ENABLE_COSMOTOOLS:BOOL=${cosmotools_enabled}
-DPARAVIEW_ENABLE_FFMPEG:BOOL=${ffmpeg_enabled}
......@@ -219,14 +226,6 @@ superbuild_add_project(paraview
# add additional plugin directories
-DPARAVIEW_EXTERNAL_PLUGIN_DIRS:STRING=${paraview_plugin_dirs}
# deprecated/legacy options for ParaView 5.7
# FIXME: remove these once 5.8 is out and we remove the 5.7
# from supported versions.
-DPARAVIEW_BUILD_QT_GUI:BOOL=${qt5_enabled}
-DPARAVIEW_ENABLE_PYTHON:BOOL=${PARAVIEW_ENABLE_PYTHON}
-DPARAVIEW_USE_RAYTRACING:BOOL=${paraview_use_raytracing}
-DVTK_LEGACY_REMOVE:BOOL=ON
${paraview_extra_cmake_options}
${PARAVIEW_EXTRA_CMAKE_ARGUMENTS})
......
include(paraview-version)
set(paraview_doc_dir "share/paraview-${paraview_version}/doc")
set(paraview_data_dir "share/paraview-${paraview_version}/examples")
set(paraview_plugin_path "lib/paraview-${paraview_version}/plugins")
set(CPACK_PACKAGE_NAME "ParaView-Catalyst-${PARAVIEW_CATALYST_EDITION}")
include(paraview.bundle.common)
# Enable CPack packaging.
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
"ParaView Catalyst ${PARAVIEW_CATALYST_EDITION} for in-situ visualization")
install(
DIRECTORY "${superbuild_install_location}/include/paraview-${paraview_version}"
DESTINATION "include"
USE_SOURCE_PERMISSIONS
COMPONENT "catalyst")
install(
DIRECTORY "${superbuild_install_location}/lib/cmake/paraview-${paraview_version}"
DESTINATION "lib/cmake"
USE_SOURCE_PERMISSIONS
COMPONENT "catalyst")
# Disable paraview-config that doesn't appear to be used anywhere
# TODO - package paraview-config
#list(APPEND paraview_executables
# paraview-config)
# Catalyst never has paraview.
list(REMOVE_ITEM paraview_executables
paraview)
set(paraview_component "catalyst")
include(paraview.bundle.unix)
set(PARAVIEW_CATALYST_EDITION "Essentials"
CACHE STRING "The catalyst edition to build")
set_property(CACHE PARAVIEW_CATALYST_EDITION
PROPERTY
STRINGS Essentials Extras Rendering-Base)
option(PARAVIEW_CATALYST_PYTHON "Enable Python support in catalyst" ON)
set(catalyst_editions Base)
if (PARAVIEW_CATALYST_PYTHON)
list(APPEND catalyst_editions
Enable-Python)
endif ()
if (PARAVIEW_CATALYST_EDITION STREQUAL "Essentials")
list(APPEND catalyst_editions
Essentials)
elseif (PARAVIEW_CATALYST_EDITION STREQUAL "Extras")
list(APPEND catalyst_editions
Essentials
Extras)
elseif (PARAVIEW_CATALYST_EDITION STREQUAL "Rendering-Base")
list(APPEND catalyst_editions
Essentials
Extras
Rendering-Base)
if (PARAVIEW_CATALYST_PYTHON)
list(APPEND catalyst_editions
Rendering-Base-Python)
endif ()
elseif (catalyst_enabled)
message(FATAL_ERROR "Unknown catalyst edition set: ${PARAVIEW_CATALYST_EDITION}")
endif ()
set(catalyst_edition_args)
foreach (catalyst_edition IN LISTS catalyst_editions)
list(APPEND catalyst_edition_args
-i <SOURCE_DIR>/Catalyst/Editions/${catalyst_edition})
endforeach ()
set(catalyst_cmake_args
-G "${CMAKE_GENERATOR}"
-DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=TRUE
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_PREFIX_PATH:PATH=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_C_FLAGS:STRING=${project_c_flags}
-DCMAKE_CXX_FLAGS:STRING=${project_cxx_flags}
-DCMAKE_SHARED_LINKER_FLAGS:STRING=${project_ld_flags})
superbuild_add_project(catalyst
DEPENDS mpi python
CONFIGURE_COMMAND
${pv_python_executable} <SOURCE_DIR>/Catalyst/catalyze.py
${catalyst_edition_args}
-r <SOURCE_DIR>
-o <TMP_DIR>/catalyzed
BUILD_COMMAND
<TMP_DIR>/catalyzed/cmake.sh
--cmake=${CMAKE_COMMAND}
${catalyst_cmake_args}
<TMP_DIR>/catalyzed
INSTALL_COMMAND
${CMAKE_COMMAND}
--build <BINARY_DIR>
--target install
-- -j${SUPERBUILD_PROJECT_PARALLELISM})
......@@ -39,8 +39,6 @@ superbuild_set_revision(paraviewtutorialdata
# on this assumption.
superbuild_set_selectable_source(paraview
# NOTE: When updating this selection, also update `README.md` and CMakeLists.txt.
# NOTE: When 5.8.0 is added, remove 5.7.0 and also remove deprecated vars in
# `paraview.cmake`
SELECT 5.8.0-RC1 DEFAULT
URL "http://www.paraview.org/files/v5.8/ParaView-v5.8.0-RC1.tar.xz"
URL_MD5 eac4f96d20da17cc2f80c1c35152d14b
......@@ -49,11 +47,6 @@ superbuild_set_selectable_source(paraview
GIT_TAG "origin/master"
SELECT source CUSTOMIZABLE
SOURCE_DIR "source-paraview")
get_property(paraview_revision GLOBAL
PROPERTY paraview_revision)
superbuild_set_revision(catalyst
${paraview_revision})
unset(paraview_revision)
superbuild_set_revision(vrpn
# https://github.com/vrpn/vrpn.git
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment