vcpkg/ports/paraview/external_vtk.patch
Alexander Neumann 9e36a44338
[seacas/vtkm/vtk/paraview] Add/update ports. (#27928)
* [cgns] update to 4.2.0

* [vtk-m] update to 1.6.0

* [vtk] Update to 9.0.1-pv5.9.1
- VTK update to match release version of ParaView

* [ParaView] Update to 5.9.1

* version stuff

* fix automatic svg linkage in static builds

* update qt5-svg

* revisit vtk
- fix build with vtk-m 1.6
- remove unused patches
- remove comments

* bump version

* remove two commented lines

* version stuff

* remove old PR version

* commit stuff

* commit stuff

* update notes

* wip commit

* update paraview

* fix hdf5 patch

* fix patch

* fix patch

* fix portfile

* add mpi feature

* format manifest

* use relativ path

* trace

* retry

* move qml files again

* try with host triplet

* - use VCPKG_CRT_LINKAGE
- use METIS not metis

* fix casing Zlib

* hopefully more fixes on other platforms.

* fix patch

* fix missing ws

* fix typos

* scale down to warning

* revert jsoncpp change
fix zoltan on osx?

* move trace option to failing port

* move trace option to failing port

* Revert "trilinos vcpkg.json changes"

* verdict fix osx build ?

* fix patch

* fix internal find_package call

* also apply correct case for metis

* disable METIS on osx

* vtk-m don't support arm.

* force more features in Ci

* fix missing ,

* more fixes

* more vtk python try and error.

* - paraview python setup same as vtk
- remove openvr from platforms not supporting it
- trace openimageio

* fix case and remove fmt for openimageio.

* trying to fix stuff

* set hash to 0

* [skip actions] add missing module

* WebCore module moved to paraview&python

* fixes

* remove patch in vtk-dicom

* add var to maybe unused

* use correct 5.11 ref instead of the one in release

* Patch cleanup round 1

* remove empty patch parts

* fix vtkm configs

* reintegrate jsoncpp.patch

* fix patch

* add single seacas/kokkos/zoltan ports

* throw out trilinos, zoltan, kokkos
replace trilinos with seacas
make seacas work for dynamic windows

* fix mpi feature

* fix dependency

* retry dep fix

* rename target

* remove double line

* fix target

* fix patch

* retry

* remove cgns config

* fix cgns

* no seacas trace

* lowercase hdf5 target

* fix case of metis

* disable Fortran

* add iotr patch

* add additional config folder

* handel case sensitive Seacas again

* get trace again and force jsoncpp

* update cmake to 3.25.0

* bump port-version

* add patch from vtk upstream

* cleanup, format-manifest

* fix port version

* v db

* opencv4 always inject deps.

* fix test port to not require stuff which is not supported on x86

* Fix HDF5 lookup in opencv4

* only delete bin folder in static builds

* add license field

* v db

* add missing "

* v db

* trace again

* fix rtabmap python dep

* fix openimageio by deleting the find module

* v db

* cr cleanup

* v db

* opencv4 v db due to merge with master. Had to bump port version

* v db

* v db

* v db

* CR comments

* v db for cr comments

* trace theia output

* revert theia trace

* v db

* try without patch

* revert rtabmap changes

* v db after merge

* v db for all
2023-01-19 17:55:56 -08:00

149 lines
5.6 KiB
Diff

diff --git a/CMake/ParaViewOptions.cmake b/CMake/ParaViewOptions.cmake
index 70c771151..14df81490 100644
--- a/CMake/ParaViewOptions.cmake
+++ b/CMake/ParaViewOptions.cmake
@@ -99,7 +99,7 @@ endif()
#========================================================================
# XXX(VTK): External VTK is not yet actually supported.
-if (FALSE)
+if (TRUE)
option(PARAVIEW_USE_EXTERNAL_VTK "Use an external VTK." OFF)
mark_as_advanced(PARAVIEW_USE_EXTERNAL_VTK)
else ()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6ee167322..628745584 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,7 +73,13 @@ if (NOT CMAKE_INSTALL_LICENSEDIR)
endif ()
set(paraview_cmake_dir "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
-set(vtk_cmake_dir "${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake")
+if (PARAVIEW_USE_EXTERNAL_VTK)
+ find_package(VTK CONFIG REQUIRED)
+ get_filename_component(vtk_cmake_dir "${VTK_CONFIG}" DIRECTORY )
+else()
+ set(vtk_cmake_dir "${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake")
+endif()
+
if (NOT IS_DIRECTORY "${vtk_cmake_dir}")
message(FATAL_ERROR
"Failed to find the VTK CMake directory. Did you forget to initialize the "
@@ -242,9 +246,7 @@ if (PARAVIEW_USE_FORTRAN)
enable_language(Fortran OPTIONAL)
endif ()
-if (PARAVIEW_USE_EXTERNAL_VTK)
- find_package(VTK REQUIRED)
-else ()
+if (NOT PARAVIEW_USE_EXTERNAL_VTK)
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake")
include(vtkCMakeBackports)
@@ -423,9 +425,67 @@ endif ()
if (PARAVIEW_USE_EXTERNAL_VTK)
if (paraview_required_modules OR paraview_unrecognized_modules)
- message(FATAL_ERROR
- "The following modules were requested or required, but not found: "
- "${paraview_required_modules};${paraview_unrecognized_modules}.")
+ foreach(mod ${paraview_required_modules})
+ if(NOT TARGET ${mod})
+ list(APPEND modules_notarget ${mod})
+ endif()
+ if(${mod} MATCHES "VTK::") # For better debugging
+ list(APPEND vtk_modules ${mod})
+ endif()
+ endforeach()
+ foreach(mod ${paraview_unrecognized_modules})
+ if(NOT TARGET ${mod})
+ list(FIND paraview_rejected_modules ${mod} _found_mod)
+ if(_found_mod GREATER_EQUAL 0)
+ list(APPEND _to_remove ${mod})
+ endif()
+ else()
+ list(APPEND _to_remove ${mod})
+ #list(APPEND vtk_modules ${mod}) #probably do not need to add unrecognized_modules to the wrapper
+ endif()
+ endforeach()
+ list(REMOVE_ITEM paraview_unrecognized_modules ${_to_remove})
+ message(STATUS "UNRECOGNIZED:${paraview_unrecognized_modules}")
+ message(STATUS "REJECTED MODULES: ${paraview_rejected_modules}")
+ message(STATUS "UNRECOGNIZED WITHOUT REJECTED AND KNOWN TARGETS: ${paraview_unrecognized_modules}")
+ message(STATUS "ALL PROVIDED MODULES: ${paraview_modules}")
+ set(_unnecessary_moduls ${paraview_modules})
+ list(REMOVE_ITEM _unnecessary_moduls ${paraview_required_modules})
+ if(modules_notarget)
+ message(FATAL_ERROR
+ "The following modules were requested or required, but not found: "
+ "${modules_notarget}")
+ endif()
+ list(REMOVE_DUPLICATES vtk_modules)
+ macro(search_dependent_targets)
+ set(vtk_mod_dep_list)
+ foreach(vtk_targ ${ARGN})
+ get_target_property(vtk_mod_dep ${vtk_targ} "INTERFACE_vtk_module_depends")
+ if(vtk_mod_dep)
+ list(APPEND vtk_mod_dep_list ${vtk_mod_dep})
+ endif()
+ get_target_property(vtk_mod_pdep ${vtk_targ} "INTERFACE_vtk_module_private_depends")
+ if(vtk_mod_pdep)
+ list(APPEND vtk_mod_dep_list ${vtk_mod_pdep})
+ endif()
+ get_target_property(vtk_mod_odep ${vtk_targ} "INTERFACE_vtk_module_opional_depends")
+ if(vtk_mod_odep)
+ list(APPEND vtk_mod_dep_list ${vtk_mod_odep})
+ endif()
+ if(vtk_mod_dep_list)
+ message(STATUS "Target ${vtk_targ} depends on ${vtk_mod_dep_list}")
+ list(REMOVE_ITEM vtk_mod_dep_list ${vtk_modules})
+ if(vtk_mod_dep_list)
+ message(STATUS "Newly discovered modules: ${vtk_mod_dep_list}")
+ list(APPEND vtk_modules ${vtk_mod_dep_list})
+ search_dependent_targets(${vtk_mod_dep_list})
+ else()
+ message(STATUS "No new modules discovered!")
+ endif()
+ endif()
+ endforeach()
+ endmacro()
+ search_dependent_targets(${vtk_modules})
endif ()
if (PARAVIEW_USE_PYTHON)
@@ -508,7 +574,7 @@ else ()
endif()
# Set up these variables now so that modules may acess them
- if (NOT PARAVIEW_USE_EXTERNAL_VTK AND PARAVIEW_INSTALL_DEVELOPMENT_FILES)
+ if (PARAVIEW_INSTALL_DEVELOPMENT_FILES)
set(vtk_cmake_dir
"${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake")
set(vtk_cmake_destination
@@ -642,6 +708,9 @@ set(_paraview_add_tests_default_data_directory
set(_paraview_add_tests_default_test_data_target
"ParaViewData")
+list(REMOVE_DUPLICATES vtk_modules) # Missed this somewhere
+list(REMOVE_DUPLICATES paraview_modules) # probably not needed
+
vtk_module_build(
MODULES ${paraview_modules}
KITS ${paraview_kits}
@@ -703,9 +772,11 @@ if (PARAVIEW_ENABLE_CATALYST)
endif ()
include(vtkModuleJson)
-vtk_module_json(
- MODULES ${vtk_modules}
- OUTPUT "vtk-modules.json")
+if(NOT PARAVIEW_USE_EXTERNAL_VTK)
+ vtk_module_json(
+ MODULES ${vtk_modules}
+ OUTPUT "vtk-modules.json")
+endif()
vtk_module_json(
MODULES ${paraview_modules}
OUTPUT "paraview-modules.json")