Commit 619b5975 authored by Ben Boeckel's avatar Ben Boeckel Committed by Kitware Robot

Merge topic 'new-paraview'

1757518e paraview: fix version detection mechanisms
05d69d9b cmb: drop smtkusersguide dep for now
7af32f4e paraview: default to using `master`
85fe20e0 cmake: extract dynamic versions based on the repository too
27f81805 smtk: fix cmake dir
3368d4d8 windows: update packaging for new paraview
0926421f boost: build libraries las requires
6f325599 las: add third party library
...
Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
Acked-by: T.J. Corona's avatarT.J. Corona <tj.corona@kitware.com>
Merge-request: !524
parents b87729cf 1757518e
......@@ -52,8 +52,27 @@ macro (superbuild_setup_variables)
superbuild_set_version_variables(smtk "${smtk_default_version}" "smtk-version.cmake" "version.txt")
set(smtk_version "${smtk_version_major}.${smtk_version_minor}")
superbuild_set_version_variables(paraview "5.6.0" "paraview-version.cmake" "version.txt")
if (paraview_SOURCE_SELECTION STREQUAL "git")
# Assuming master; just use the latest version, but let the user set their
# own version in case it is actually a branch from some other version.
set(PARAVIEW_VERSION_DEFAULT "<FETCH_FROM_GIT>"
CACHE STRING "The default version of ParaView to use if it cannot be detected")
if (PARAVIEW_VERSION_DEFAULT STREQUAL "<FETCH_FROM_GIT>")
include(paraviewVersion)
set(PARAVIEW_VERSION_DEFAULT "${paraview_version_major}.${paraview_version_minor}.${paraview_version_patch}")
endif ()
mark_as_advanced(PARAVIEW_VERSION_DEFAULT)
set(paraview_default_version "${PARAVIEW_VERSION_DEFAULT}")
elseif (paraview_SOURCE_SELECTION STREQUAL "for-v6.3.0")
set(paraview_default_version "5.7.0")
elseif (paraview_SOURCE_SELECTION STREQUAL "source")
# If it is a git repo, we'll get it that way. Otherwise, we will look at the
# `version.txt` in the checkout.
set(paraview_default_version "")
endif ()
superbuild_set_version_variables(paraview "${paraview_default_version}" "paraview-version.cmake" "version.txt")
set(paraview_version "${paraview_version_major}.${paraview_version_minor}")
superbuild_set_version_variables(vtk "8.1.0" "vtk-version.cmake")
set(vtk_version "${vtk_version_major}.${vtk_version_minor}")
endmacro ()
......@@ -76,6 +95,7 @@ function (superbuild_find_projects var)
gdal
hdf5
lapack
las
libarchive
matplotlib
moab
......@@ -262,7 +282,9 @@ set(boost_libraries
chrono
date_time
filesystem
iostreams
log
program_options
regex
serialization
system
......
# Download SMTK's master branch version.txt
file(DOWNLOAD https://gitlab.kitware.com/cmb/cmb/raw/master/version.txt
string(REPLACE "origin/" "" cmb_tag "${cmb_GIT_TAG}")
string(REPLACE ".git" "/raw/${cmb_tag}/version.txt" cmb_version_url "${cmb_GIT_REPOSITORY}")
# Download CMB's master branch version.txt
file(DOWNLOAD "${cmb_version_url}"
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cmbVersion.txt STATUS status)
list(GET status 0 error_code)
if (error_code)
message(FATAL_ERROR "Could not access the version file for CMB")
file(READ "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cmbVersion.txt" output)
message(FATAL_ERROR "Could not access the version file for CMB: ${output}")
endif ()
file(STRINGS ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cmbVersion.txt version_string )
......
string(REPLACE "origin/" "" paraview_tag "${paraview_GIT_TAG}")
string(REPLACE ".git" "/raw/${paraview_tag}/version.txt" paraview_version_url "${paraview_GIT_REPOSITORY}")
# Download ParaView's master branch version.txt
file(DOWNLOAD "${paraview_version_url}"
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/paraviewVersion.txt STATUS status)
list(GET status 0 error_code)
if (error_code)
message(FATAL_ERROR "Could not access the version file for ParaView")
endif ()
file(STRINGS ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/paraviewVersion.txt version_string )
string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)[-]*(.*)"
version_matches "${version_string}")
set(paraview_version_major ${CMAKE_MATCH_1})
set(paraview_version_minor ${CMAKE_MATCH_2})
set(paraview_version "${paraview_version_major}.${paraview_version_minor}")
if (CMAKE_MATCH_3)
set(paraview_version_patch ${CMAKE_MATCH_3})
set(paraview_version "${paraview_version}.${paraview_version_patch}")
else()
set(paraview_version_patch 0)
endif()
# To be thorough, we should split the label into "-prerelease+metadata"
# and, if prerelease is specified, use it in determining precedence
# according to semantic versioning rules at http://semver.org/ .
# For now, just make the information available as a label:
if (CMAKE_MATCH_4)
set(paraview_version_label "${CMAKE_MATCH_4}")
endif()
string(REPLACE "origin/" "" smtk_tag "${smtk_GIT_TAG}")
string(REPLACE ".git" "/raw/${smtk_tag}/version.txt" smtk_version_url "${smtk_GIT_REPOSITORY}")
# Download SMTK's master branch version.txt
file(DOWNLOAD https://gitlab.kitware.com/cmb/smtk/raw/master/version.txt
file(DOWNLOAD "${smtk_version_url}"
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/smtkVersion.txt STATUS status)
list(GET status 0 error_code)
if (error_code)
......
......@@ -9,23 +9,20 @@ foreach(program IN LISTS cmb_programs_to_install)
list(APPEND additional_libraries "${superbuild_install_location}/lib/lib${library}.dylib")
endforeach()
# Install CMB plugins in modelbuilder app
foreach(plugin IN LISTS cmb_plugins_cmb)
list(APPEND plugin_paths "${superbuild_install_location}/Applications/modelbuilder.app/Contents/Plugins/lib${plugin}.dylib")
endforeach()
list(APPEND plugins ${cmb_plugins_cmb})
# Install CMB plugins in modelbuilder app
foreach(plugin IN LISTS cmb_plugins_standalone)
list(APPEND plugin_paths "${superbuild_install_location}/lib/lib${plugin}.dylib")
endforeach()
list(APPEND plugins ${cmb_plugins_standalone})
# Install paraview plugins in modelbuilder app
foreach (plugin IN LISTS cmb_plugins_paraview)
list(APPEND plugin_paths "${superbuild_install_location}/Applications/paraview.app/Contents/Plugins/lib${plugin}.dylib")
endforeach()
list(APPEND plugin_paths "${superbuild_install_location}/lib/paraview-${paraview_version}/plugins/${plugin}/${plugin}.so")
endforeach ()
list(APPEND plugins ${cmb_plugins_paraview})
foreach (plugin IN LISTS cmb_plugins_smtk)
list(APPEND plugin_paths "${superbuild_install_location}/lib/smtk-${smtk_version}.${smtk_version_patch}/${plugin}/${plugin}.so")
endforeach ()
list(APPEND plugins ${cmb_plugins_smtk})
foreach (plugin IN LISTS cmb_plugins_cmb)
list(APPEND plugin_paths "${superbuild_install_location}/lib/cmb-${cmb_version}/${plugin}/${plugin}.so")
endforeach ()
list(APPEND plugins ${cmb_plugins_cmb})
endif()
superbuild_apple_create_app(
......@@ -51,11 +48,32 @@ foreach(program IN LISTS cmb_programs_to_install)
DESTINATION "${cmb_package}/${program}.app/Contents"
COMPONENT superbuild)
if (EXISTS "${superbuild_install_location}/Applications/${program}.app/Contents/Resources/${program}.conf")
file(READ "${superbuild_install_location}/Applications/${program}.app/Contents/Resources/${program}.conf" conf_contents)
string(REGEX REPLACE "[^\n]*/" "../Plugins/" pkg_conf_contents "${conf_contents}")
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${program}.conf" "${pkg_conf_contents}")
install(
FILES "${CMAKE_CURRENT_BINARY_DIR}/${program}.conf"
DESTINATION "${cmb_package}/${program}.app/Contents/Resources/"
COMPONENT superbuild)
string(REPLACE "\n" ";" plugin_files "${conf_contents}")
foreach (plugin_file IN LISTS plugin_files)
if (NOT plugin_file)
continue ()
endif ()
install(
FILES "${superbuild_install_location}/Applications/${program}.app/Contents/Resources/${plugin_file}"
DESTINATION "${cmb_package}/${program}.app/Contents/Plugins/"
COMPONENT superbuild)
endforeach ()
endif ()
foreach (executable IN LISTS paraview_executables)
superbuild_apple_install_utility(
"\${CMAKE_INSTALL_PREFIX}/${cmb_package}"
"${program}.app"
"${superbuild_install_location}/Applications/paraview.app/Contents/bin/${executable}"
"${superbuild_install_location}/bin/${executable}"
SEARCH_DIRECTORIES
"${superbuild_install_location}/lib")
endforeach ()
......@@ -68,12 +86,6 @@ foreach(program IN LISTS cmb_programs_to_install)
set(plugins_file "${CMAKE_CURRENT_BINARY_DIR}/${program}.plugins")
cmb_add_plugin("${plugins_file}" ${plugins})
install(
FILES "${plugins_file}"
DESTINATION "${cmb_package}/${program}.app/Contents/Plugins"
COMPONENT superbuild
RENAME ".plugins")
superbuild_apple_install_python(
"\${CMAKE_INSTALL_PREFIX}/${cmb_package}"
"${program}.app"
......
......@@ -2,6 +2,7 @@
include(cmb-version)
include(paraview-version)
include(smtk-version)
set(CPACK_PACKAGE_VENDOR "Kitware, Inc.")
set(CPACK_PACKAGE_VERSION_MAJOR ${cmb_version_major})
......@@ -51,61 +52,49 @@ if (cmb_install_paraview_python)
pvpython)
endif ()
# Currently, ModelBuilder is predominantly ParaView + a suite of plugins from
# SMTK. As the latest iteration of ModelBuilder developed, we encountered
# inconsistencies during development & packaging with the automatic inclusion of
# SMTK's plugins. As a workaround, we created a library in SMTK named
# "smtkDefaultPlugins" that links against the plugins SMTK has been configured
# to build and exposes methods for programatically setting them up in
# ModelBuilder.
#
# When ModelBuilder links against smtkDefaultPlugins, the packager treats
# smtkDefaultPlugins' dependent libraries (the plugins) as libraries and
# puts them with the rest of the libraries. The code below is a hand-maintained
# whitelist of SMTK's plugins; the packager treats these as plugins and puts
# them in a plugins directory. When the packager comes across a plugin that is
# also linked as a library, it gets confused and installs it into both the
# library and plugin directories, but only fixes the runtime paths for the
# copy in the plugin directory.
#
# SMTK's ability to create a library that links its plugins into a consuming
# application is currently less fault-prone than ParaView's default plugin
# system. Future updates to ParaView may obviate the need for this ability,
# however. Until then, we disable the following logic for SMTK's plugins.
set(LINK_TO_PLUGINS True)
if (NOT ${LINK_TO_PLUGINS})
set(cmb_plugins_smtk
smtkAttributePlugin
smtkDelaunayPlugin
smtkDiscreteSessionPlugin
smtkMeshPlugin
smtkMeshSessionPlugin
smtkModelPlugin
smtkOpenCVPlugin
smtkOperationPlugin
smtkPQComponentsPlugin
smtkPQOperationViewsPlugin
smtkPVServerExtPlugin
smtkPolygonSessionPlugin
smtkRemusMeshOperationPlugin
smtkVTKOperationsPlugin
)
if (matplotlib_enabled)
list(APPEND cmb_plugins_smtk
smtkMatplotlibPlugin)
endif ()
# List of plugins provided by SMTK. These are needed so that they are known and
# can be installed in the per-platform logic.
set(cmb_plugins_smtk
smtkAttributePlugin
smtkDelaunayPlugin
smtkDiscreteSessionPlugin
smtkMeshPlugin
smtkMeshSessionPlugin
smtkModelPlugin
smtkOperationPlugin
smtkOscillatorSessionPlugin
smtkPQComponentsPlugin
smtkPQOperationViewsPlugin
smtkPQWidgetsPlugin
smtkPVServerExtPlugin
smtkPolygonSessionPlugin
smtkVTKOperationsPlugin
smtkVTKSessionPlugin)
if (vxl_enabled)
list(APPEND cmb_plugins_smtk
smtkVXLOperationViewsPlugin)
endif ()
endif()
if (matplotlib_enabled)
list(APPEND cmb_plugins_smtk
smtkMatplotlibPlugin)
endif ()
if (vxl_enabled)
list(APPEND cmb_plugins_smtk
smtkVXLOperationViewsPlugin)
endif ()
set(cmb_plugins_cmb
cmbPostProcessingModePlugin
# This is a static plugin.
#cmbPostProcessingModePlugin
)
set(cmb_plugins_paraview
SLACTools)
list(APPEND plugin_files
"${plugin_dir}/paraview-${paraview_version}/plugins/paraview.plugins.xml"
"${plugin_dir}/smtk-${smtk_version}.${smtk_version_patch}/smtk.extensions.xml"
"${plugin_dir}/smtk-${smtk_version}.${smtk_version_patch}/smtk.paraview.xml"
"${plugin_dir}/cmb-${cmb_version}/cmb.xml")
set(cmb_plugins_standalone)
if (smtkprojectmanager_enabled)
list(APPEND cmb_plugins_standalone smtkProjectManagerPlugin)
......@@ -114,12 +103,6 @@ if (smtkresourcemanagerstate_enabled)
list(APPEND cmb_plugins_standalone smtkReadWriteResourceManagerStatePlugin)
endif()
if (cumulus_enabled)
set(cmb_plugins_paraview
SLACTools
)
endif()
set(cmb_additional_libraries)
foreach (boost_lib IN LISTS BOOST_ADDITIONAL_LIBRARIES)
list(APPEND cmb_additional_libraries boost_${boost_lib})
......
......@@ -31,13 +31,26 @@ endif()
get_property(cmb_lfs_steps GLOBAL
PROPERTY cmb_superbuild_lfs_steps)
set(cmb_rpaths)
if (APPLE AND USE_SYSTEM_qt5)
# On macOS, Qt5 packages use `@rpath` as their library ids. Add an rpath for
# it to the build.
get_filename_component(qt5_rpath "${Qt5_DIR}/../.." REALPATH)
list(APPEND cmb_rpaths
"${qt5_rpath}")
endif ()
string(REPLACE ";" "${_superbuild_list_separator}"
cmb_rpaths
"${cmb_rpaths}")
superbuild_add_project(cmb
DEVELOPER_MODE
DEBUGGABLE
DEFAULT_ON
INDEPENDENT_STEP_TARGETS ${cmb_lfs_steps} download update
DEPENDS boost moab remus vxl nlohmannjson python paraview pybind11
qt qt5 smtk zeromq cmbworkflows cmbusersguide smtkusersguide
#qt qt5 smtk zeromq cmbworkflows cmbusersguide smtkusersguide
qt qt5 smtk zeromq cmbworkflows cmbusersguide
DEPENDS_OPTIONAL cumulus ${cmb_extra_optional_dependencies}
cxx11 gdal hdf5 netcdf opencv
CMAKE_ARGS
......@@ -68,6 +81,7 @@ superbuild_add_project(cmb
# override OS-specific libdirs that GNUInstallDirs.cmake would otherwise
# set.
-DCMAKE_INSTALL_LIBDIR:STRING=lib
-DCMAKE_INSTALL_RPATH:STRING=${cmb_rpaths}
${cmb_response_file})
......
......@@ -29,5 +29,6 @@ else ()
endif ()
superbuild_add_extra_cmake_args(
-DGDAL_INCLUDE_DIR:FILEPATH=<INSTALL_DIR>/include/gdal
-DGDAL_ROOT:PATH=<INSTALL_DIR>
-DGDAL_INCLUDE_DIR:PATH=<INSTALL_DIR>/include/gdal
-DGDAL_LIBRARY:FILEPATH=${gdal_lib})
set(las_configure_flags)
if (UNIX AND NOT APPLE)
list(APPEND las_configure_flags
-DCMAKE_INSTALL_RPATH:STRING=<INSTALL_DIR>/lib)
endif ()
superbuild_add_project(las
DEPENDS boost
CMAKE_ARGS
-DWITH_GDAL:BOOL=FALSE
-DBUILD_OSGEO4W:BOOL=OFF
-DWITH_GEOTIFF:BOOL=FALSE
-DWITH_LASZIP:BOOL=FALSE
-DWITH_TESTS:BOOL=FALSE
-DWITH_UTILITIES:BOOL=FALSE
-DBoost_USE_STATIC_LIBS:BOOL=FALSE
${las_configure_flags})
# this patch is commited upstream at 4dbc30a7e7e099cbe01a7c192ec19d231cc26894
superbuild_apply_patch(las respect-with-geotiff
"find_package GeoTIFF only if WITH_GEOTIFF")
superbuild_apply_patch(las enable-outside-boost-options
"Enable outside boost options")
superbuild_apply_patch(las add-boost-include-dirs
"Boost include dirs are needed on Windows")
superbuild_apply_patch(las allow-rpath
"Don't reject RPATH settings on Linux")
if (WIN32)
superbuild_append_flags(cxx_flags "-DBOOST_ALL_NO_LIB" PROJECT_ONLY)
endif()
if (APPLE)
superbuild_append_flags(cxx_flags "-stdlib=libc++" PROJECT_ONLY)
superbuild_append_flags(ld_flags "-stdlib=libc++" PROJECT_ONLY)
endif ()
set(xml_dep)
set(libarchive_xml_dep)
set(libarchive_use_libxml2 OFF)
if (NOT WIN32)
set(xml_dep libxml2)
endif()
set(libarchive_xml_dep libxml2)
set(libarchive_use_libxml2 ON)
endif ()
superbuild_add_project(libarchive
DEPENDS zlib ${xml_dep}
DEPENDS zlib ${libarchive_xml_dep}
CMAKE_ARGS
-DBUILD_TESTING:BOOL=OFF
-DENABLE_LIBXML2:BOOL=${libarchive_use_libxml2}
-DENABLE_EXPAT:BOOL=OFF
# quiet "developer-only" warnings
-Wno-dev
)
......
......@@ -4,6 +4,7 @@ superbuild_add_project(moab
CMAKE_ARGS
-Wno-dev
-DBUILD_SHARED_LIBS:BOOL=OFF
-DCMAKE_INSTALL_LIBDIR:STRING=lib
-DCMAKE_CXX_VISIBILITY_PRESET:STRING=hidden
-DCMAKE_VISIBILITY_INLINES_HIDDEN:BOOL=ON
-DENABLE_BLASLAPACK:BOOL=OFF
......
......@@ -2,7 +2,7 @@
superbuild_add_project(nlohmannjson
DEPENDS cxx11
CMAKE_ARGS
-DENABLE_TESTING:BOOL=OFF
-DBUILD_TESTING:BOOL=OFF
-DBuildTests:BOOL=OFF
)
......
......@@ -4,69 +4,22 @@ if (PV_NIGHTLY_SUFFIX)
-DPV_NIGHTLY_SUFFIX:STRING=${PV_NIGHTLY_SUFFIX})
endif ()
set(paraview_disable_plugins
EyeDomeLighting
SciberQuestToolKit
PointSprite
NonOrthogonalSource
PacMan
StreamingParticles
SierraPlotTools
UncertaintyRendering
SurfaceLIC
EyeDomeLighting
RGBZView
MobileRemoteControl)
foreach (plugin IN LISTS paraview_disable_plugins)
list(APPEND paraview_extra_cmake_args
-DPARAVIEW_BUILD_PLUGIN_${plugin}:BOOL=FALSE)
endforeach ()
set(paraview_enable_plugins
SLACTools
)
foreach (plugin in LISTS paraview_enable_plugins)
list(APPEND paraview_extra_cmake_args
-DPARAVIEW_BUILD_PLUGIN_${plugin}:BOOL=TRUE)
endforeach()
if (APPLE)
list(APPEND paraview_extra_cmake_args
# We are having issues building mpi4py with Python 2.6 on Mac OSX. Hence,
# disable it for now.
-DPARAVIEW_USE_SYSTEM_MPI4PY:BOOL=ON)
endif ()
if (UNIX AND NOT APPLE)
list (APPEND paraview_extra_cmake_args
list(APPEND paraview_extra_cmake_args
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=FALSE)
endif ()
set(paraview_response_file)
if (WIN32)
# Force response file usage in ParaView. The command line gets way too long on
# Windows without this. Once VTK_USE_FILE and PARAVIEW_USE_FILE are gone,
# this can be removed again.
set(paraview_response_file -DCMAKE_NINJA_FORCE_RESPONSE_FILE:BOOL=ON)
set(paraview_rpaths)
if (APPLE AND USE_SYSTEM_qt5)
# On macOS, Qt5 packages use `@rpath` as their library ids. Add an rpath for
# it to the build.
get_filename_component(qt5_rpath "${Qt5_DIR}/../.." REALPATH)
list(APPEND paraview_rpaths
"${qt5_rpath}")
endif ()
if (__BUILDBOT_INSTALL_LOCATION)
list(APPEND paraview_extra_cmake_args
-DPARAVIEW_CUSTOM_INSTALL_NAME_DIR:STRING=<INSTALL_DIR>
-DPARAVIEW_DO_UNIX_STYLE_INSTALLS:BOOL=ON)
endif ()
# Add mandatory plugins:
# list(APPEND paraview_extra_cmake_args
# -DPARAVIEW_EXTRA_EXTERNAL_PLUGINS:STRING=CMB_Plugin)
# Add optional plugins:
# This can't be quoted, since that will introduce an extra
# set of quotes into pqparaviewInitializer, and break the build.
# If you need to add additional plugins to the list, use
# ExtraPlugin${_superbuild_list_separator}KMLExporter_Plugin
# instead of spaces/semicolons:
set(paraview_optional_plugins KMLExporter_Plugin)
string(REPLACE ";" "${_superbuild_list_separator}"
paraview_rpaths
"${paraview_rpaths}")
superbuild_add_project(paraview
DEBUGGABLE
......@@ -74,6 +27,7 @@ superbuild_add_project(paraview
boost
freetype
gdal
las
png
python
qt
......@@ -83,57 +37,53 @@ superbuild_add_project(paraview
DEPENDS_OPTIONAL
cxx11 hdf5 paraviewweb protobuf
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=ON
-DBUILD_TESTING:BOOL=OFF
-DPARAVIEW_BUILD_PLUGIN_CoProcessingScriptGenerator:BOOL=ON
-DPARAVIEW_BUILD_SHARED_LIBS:BOOL=ON
-DPARAVIEW_BUILD_TESTING:BOOL=OFF
-DPARAVIEW_PLUGIN_ENABLE_SLACTools:BOOL=ON
-DPARAVIEW_PLUGINS_DEFAULT:BOOL=OFF
-DPARAVIEW_BUILD_QT_GUI:BOOL=${qt_enabled}
-DPARAVIEW_QT_VERSION:STRING=5
-DPARAVIEW_ENABLE_PYTHON:BOOL=${python_enabled}
-DPARAVIEW_ENABLE_WEB:BOOL=OFF
-DPARAVIEW_USE_MPI:BOOL=${mpi_enabled}
-DVTK_USE_SYSTEM_HDF5:BOOL=${hdf5_enabled}
-DHDF5_NO_FIND_PACKAGE_CONFIG_FILE:BOOL=ON
-DVTK_USE_SYSTEM_NETCDF:BOOL=${netcdf_enabled}
-DVTK_USE_SYSTEM_PROTOBUF:BOOL=${protobuf_enabled}
-DVTK_RENDERING_BACKEND:STRING=OpenGL2
-DPARAVIEW_ENABLE_WEB:BOOL=${paraviewweb_enabled}
-DVTK_ENABLE_KITS:BOOL=ON
-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=${hdf5_enabled}
-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf:BOOL=${netcdf_enabled}
-DVTK_MODULE_USE_EXTERNAL_ParaView_protobuf:BOOL=${protobuf_enabled}
-DPARAVIEW_ENABLE_KITS:BOOL=ON
-DPARAVIEW_USE_ICE_T:BOOL=ON
-DCMAKE_INSTALL_LIBDIR:STRING=lib
-DCMAKE_INSTALL_NAME_DIR:PATH=<INSTALL_DIR>/lib
-DPARAVIEW_PYTHON_VERSION:STRING=2
#currently catalyst is having problems on praxis so lets disable it for now
-DPARAVIEW_ENABLE_CATALYST:BOOL=OFF
# enable VisIt bridge for additional file readers
-DPARAVIEW_USE_VISITBRIDGE:BOOL=ON
-DPARAVIEW_ENABLE_VISITBRIDGE:BOOL=ON
#CMB needs geovis enabled to provide the gdal reader
-DModule_vtkGeovisCore:BOOL=ON
-DModule_vtkIOGDAL:BOOL=ON
-DModule_vtkViewsInfovis:BOOL=ON
-DModule_vtkRenderingMatplotlib:BOOL=ON
-DModule_vtkRenderingGL2PSOpenGL2:BOOL=ON
-DGDAL_DIR:PATH=<INSTALL_DIR>
-DVTK_MODULE_ENABLE_VTK_GeovisCore:STRING=YES
-DVTK_MODULE_ENABLE_VTK_ViewsInfovis:STRING=YES
-DVTK_MODULE_ENABLE_VTK_RenderingMatplotlib:STRING=YES
-DVTK_MODULE_ENABLE_VTK_RenderingGL2PSOpenGL2:STRING=YES
-DVTK_MODULE_ENABLE_VTK_DomainsChemistryOpenGL2:STRING=YES
-DPARAVIEW_ENABLE_GDAL:BOOL=ON
-DPARAVIEW_ENABLE_LAS:BOOL=ON
# CMB needs to specify external plugins so that we can let paraview
# properly install the plugins. So we sneakily force a variable that is an
# implementation detail of paraview branding
-DBPC_OPTIONAL_PLUGINS:INTERNAL=${paraview_optional_plugins}
-DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=TRUE
# since VTK mangles all the following, I wonder if there's any point in
# making it use system versions.
-DVTK_USE_SYSTEM_FREETYPE:BOOL=${freetype_enabled}
# currently png strips rpaths don't use this in cmb, so don't use this
# -DVTK_USE_SYSTEM_PNG:BOOL=${png_enabled}
-DVTK_USE_SYSTEM_ZLIB:BOOL=${zlib_enabled}
# Specify the apple app install prefix. No harm in specifying it for all
# platforms.
-DMACOSX_APP_INSTALL_PREFIX:PATH=<INSTALL_DIR>/Applications
-DVTK_MODULE_USE_EXTERNAL_VTK_freetype:BOOL=${freetype_enabled}
-DVTK_MODULE_USE_EXTERNAL_VTK_png:BOOL=${png_enabled}
-DVTK_MODULE_USE_EXTERNAL_VTK_zlib:BOOL=${zlib_enabled}
#If this is true paraview doesn't properly clean the paths to system
#libraries like netcdf
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=TRUE
-DCMAKE_MACOSX_RPATH:BOOL=FALSE
-DCMAKE_INSTALL_RPATH:STRING=${paraview_rpaths}
${paraview_response_file}
......@@ -142,15 +92,7 @@ superbuild_add_project(paraview
${paraview_extra_cmake_args})
if (__BUILDBOT_INSTALL_LOCATION)
set(paraview_paraview_dir <INSTALL_DIR>/lib/cmake/paraview-${paraview_version})
set(paraview_vtk_dir ${paraview_paraview_dir})
else ()
set(paraview_paraview_dir ${CMAKE_CURRENT_BINARY_DIR}/paraview/build)
set(paraview_vtk_dir ${paraview_paraview_dir}/VTK)
endif ()
superbuild_add_extra_cmake_args(
-DParaView_DIR:PATH=${paraview_paraview_dir}
-DParaView_DIR:PATH=<INSTALL_DIR>/lib/cmake/paraview-${paraview_version}
-DParaView_CLEXECUTABLES_DIR:PATH=<INSTALL_DIR>/bin
-DVTK_DIR:PATH=${paraview_vtk_dir})
-DVTK_DIR:PATH=${paraview_paraview_dir}/VTK)
From 3ed911f1e589d592403d43c2bd478f605c3b72a2 Mon Sep 17 00:00:00 2001
From: Dan Lipsa <dan.lipsa@kitware.com>
Date: Mon, 6 Nov 2017 10:11:45 -0500
Subject: [PATCH] header.hpp includes boost/uuid/uuid.hpp
On Windows, boost headers are installed in
boost_1_59/boost/...
Boost headers are not found unless libLAS
specifies that it needs them.
---
cmake/liblas-config.cmake.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/cmake/liblas-config.cmake.in b/cmake/liblas-config.cmake.in
index 175e9974..a74031e4 100644
--- a/cmake/liblas-config.cmake.in
+++ b/cmake/liblas-config.cmake.in
@@ -21,6 +21,7 @@ set (libLAS_BINARY_DIRS "${PROJECT_ROOT_DIR}/bin")
include ("${_DIR}/liblas-depends.cmake")
if(WIN32)
+ list(APPEND libLAS_INCLUDE_DIRS @Boost_INCLUDE_DIRS@)
set (libLAS_LIBRARIES liblas liblas_c)
else()
set (libLAS_LIBRARIES las las_c)
--
2.11.0
diff -u -U5 -r libLAS-1.8.1/CMakeLists.txt libLAS-1.8.1.allow-rpath/CMakeLists.txt
--- libLAS-1.8.1/CMakeLists.txt 2016-08-22 09:07:43.000000000 -0400
+++ libLAS-1.8.1.allow-rpath/CMakeLists.txt 2019-06-19 14:16:23.676522239 -0400
@@ -75,14 +75,10 @@
set(CMAKE_MODULE_PATH "${libLAS_SOURCE_DIR}/cmake/modules" ${CMAKE_MODULE_PATH})
if (CMAKE_MAJOR_VERSION GREATER 2)
cmake_policy(SET CMP0042 OLD)
endif()
-if (CMAKE_SYSTEM_NAME MATCHES "Linux")
-set(CMAKE_SKIP_RPATH ON)
-endif()
-
###############################################################################
# General build settings
# Default to debug mode until final 1.6.0 release
if(NOT MSVC_IDE)
From b7bb8cde2b874e888b3a1b40233e44c76593eee1 Mon Sep 17 00:00:00 2001
From: Dan Lipsa <dan.lipsa@kitware.com>
Date: Mon, 23 Oct 2017 17:37:33 -0400
Subject: [PATCH] Enable outside packages to set boost options.
---
CMakeLists.txt | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 82fc991a..032b5e49 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -190,8 +190,12 @@ message(STATUS "Searching for Boost 1.38+ - done")
# on windows in the compilation documentation.
if(WIN32)
if (MSVC)
- set(Boost_USE_STATIC_LIBS ON)
- set(Boost_USE_MULTITHREADED ON)
+ if (NOT DEFINED Boost_USE_STATIC_LIBS)
+ set(Boost_USE_STATIC_LIBS ON)
+ endif()
+ if (NOT DEFINED Boost_USE_MULTITHREADED)
+ set(Boost_USE_MULTITHREADED ON)
+ endif()
endif(MSVC)
endif(WIN32)
--
2.11.0
From 4dbc30a7e7e099cbe01a7c192ec19d231cc26894 Mon Sep 17 00:00:00 2001
From: Dan Lipsa <dan.lipsa@kitware.com>
Date: Thu, 19 Oct 2017 12:54:03 -0400
Subject: [PATCH] find_package GeoTIFF only if WITH_GEOTIFF.
---
CMakeLists.txt | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 18336e00..82fc991a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -254,8 +254,9 @@ endif()
# GeoTIFF support - required, default=ON
set(WITH_GEOTIFF TRUE CACHE BOOL "Choose if GeoTIFF support should be built")
-find_package (GeoTIFF 1.3.0 )
-if(GEOTIFF_FOUND)
+if(WITH_GEOTIFF)
+ find_package (GeoTIFF 1.3.0 )
+ if(GEOTIFF_FOUND)
set(WITH_GEOTIFF TRUE)
# Confirm required API is available
include(CheckFunctionExists)
@@ -265,7 +266,7 @@ if(GEOTIFF_FOUND)
mark_as_advanced(CLEAR TIFF_INCLUDE_DIR)
mark_as_advanced(CLEAR TIFF_LIBRARY)
if (WIN32)
- set(TIFF_NAMES libtiff_i)
+ set(TIFF_NAMES libtiff_i)
endif(WIN32)
find_package (TIFF QUIET NO_MODULE)
if (NOT TIFF_FOUND)
@@ -274,16 +275,17 @@ if(GEOTIFF_FOUND)
if (TIFF_FOUND)
include_directories(${TIFF_INCLUDE_DIR})
endif()