From d9628c08aebd223e7cf030161b11b786c9305cdd Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Mon, 16 May 2022 18:50:26 -0700 Subject: [PATCH 1/8] [vtk] Add option ENABLE_HDF5_PARALLEL to fit hdf5 feature parallel --- ports/vtk/fix-hdf5-parallel.patch | 13 +++++++++++++ ports/vtk/portfile.cmake | 4 ++++ ports/vtk/vcpkg.json | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 ports/vtk/fix-hdf5-parallel.patch diff --git a/ports/vtk/fix-hdf5-parallel.patch b/ports/vtk/fix-hdf5-parallel.patch new file mode 100644 index 00000000000000..5bef496e8c09fc --- /dev/null +++ b/ports/vtk/fix-hdf5-parallel.patch @@ -0,0 +1,13 @@ +diff --git a/ThirdParty/hdf5/CMakeLists.txt b/ThirdParty/hdf5/CMakeLists.txt +index 74a965a..6a8b216 100644 +--- a/ThirdParty/hdf5/CMakeLists.txt ++++ b/ThirdParty/hdf5/CMakeLists.txt +@@ -16,7 +16,7 @@ vtk_module_third_party( + STANDARD_INCLUDE_DIRS) + + set(vtkhdf5_is_parallel 0) +-if (VTK_MODULE_USE_EXTERNAL_vtkhdf5 AND HDF5_IS_PARALLEL) ++if (VTK_MODULE_USE_EXTERNAL_vtkhdf5 AND HDF5_IS_PARALLEL AND ENABLE_HDF5_PARALLEL) + if (NOT TARGET VTK::mpi) + message(FATAL_ERROR + "An external MPI-aware HDF5 requires that VTK be built with MPI support " diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index 64dd5901a025df..03556f8752b4bf 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -30,6 +30,7 @@ vcpkg_from_github( fix-gdal.patch missing-limits.patch # This patch can be removed in next version. Since it has been merged to upstream via https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7611 UseProj5Api.patch # Allow Proj 8.0+ (commit b66e4a7, backported). Should be in soon after 9.0.3 + fix-hdf5-parallel.patch ) # ============================================================================= @@ -141,6 +142,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "cuda" VTK_USE_CUDA "mpi" VTK_USE_MPI + "mpi" ENABLE_HDF5_PARALLEL "all" VTK_BUILD_ALL_MODULES ) # ============================================================================= @@ -168,6 +170,8 @@ vcpkg_cmake_configure( ${ADDITIONAL_OPTIONS} -DVTK_DEBUG_MODULE_ALL=ON -DVTK_DEBUG_MODULE=ON + MAYBE_UNUSED_VARIABLES + VTK_MODULE_ENABLE_VTK_PythonContext2D ) vcpkg_cmake_install() diff --git a/ports/vtk/vcpkg.json b/ports/vtk/vcpkg.json index fb5a115dc61b69..bee36efd38b1a1 100644 --- a/ports/vtk/vcpkg.json +++ b/ports/vtk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "vtk", "version-semver": "9.0.3-pv5.9.1", - "port-version": 10, + "port-version": 11, "description": "Software system for 3D computer graphics, image processing, and visualization", "homepage": "https://github.com/Kitware/VTK", "license": "BSD-3-Clause", From d502c75fca7ea5b810e2051c406e6726b5896fec Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Mon, 16 May 2022 18:51:48 -0700 Subject: [PATCH 2/8] version --- versions/baseline.json | 2 +- versions/v-/vtk.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index 0e2150a62d0fb7..8927095bcb9c79 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7422,7 +7422,7 @@ }, "vtk": { "baseline": "9.0.3-pv5.9.1", - "port-version": 10 + "port-version": 11 }, "vtk-dicom": { "baseline": "0.8.12", diff --git a/versions/v-/vtk.json b/versions/v-/vtk.json index d7362563531e1c..b2cdabd61ca88f 100644 --- a/versions/v-/vtk.json +++ b/versions/v-/vtk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "277a83c960d3e5cddc283f65f9045b3664d071b7", + "version-semver": "9.0.3-pv5.9.1", + "port-version": 11 + }, { "git-tree": "6a7eea485be980aa5c9fae1e0a75084f98e5dc27", "version-semver": "9.0.3-pv5.9.1", From ba76ee46f60e8fe9ed8b568f9d2b37216bd985fb Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Mon, 30 May 2022 01:12:10 -0700 Subject: [PATCH 3/8] [vtk] add error message instead of patching the source --- ports/vtk/fix-hdf5-parallel.patch | 13 ------------- ports/vtk/portfile.cmake | 10 ++++++++-- 2 files changed, 8 insertions(+), 15 deletions(-) delete mode 100644 ports/vtk/fix-hdf5-parallel.patch diff --git a/ports/vtk/fix-hdf5-parallel.patch b/ports/vtk/fix-hdf5-parallel.patch deleted file mode 100644 index 5bef496e8c09fc..00000000000000 --- a/ports/vtk/fix-hdf5-parallel.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ThirdParty/hdf5/CMakeLists.txt b/ThirdParty/hdf5/CMakeLists.txt -index 74a965a..6a8b216 100644 ---- a/ThirdParty/hdf5/CMakeLists.txt -+++ b/ThirdParty/hdf5/CMakeLists.txt -@@ -16,7 +16,7 @@ vtk_module_third_party( - STANDARD_INCLUDE_DIRS) - - set(vtkhdf5_is_parallel 0) --if (VTK_MODULE_USE_EXTERNAL_vtkhdf5 AND HDF5_IS_PARALLEL) -+if (VTK_MODULE_USE_EXTERNAL_vtkhdf5 AND HDF5_IS_PARALLEL AND ENABLE_HDF5_PARALLEL) - if (NOT TARGET VTK::mpi) - message(FATAL_ERROR - "An external MPI-aware HDF5 requires that VTK be built with MPI support " diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index 03556f8752b4bf..a43ac936800c0c 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -30,7 +30,6 @@ vcpkg_from_github( fix-gdal.patch missing-limits.patch # This patch can be removed in next version. Since it has been merged to upstream via https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7611 UseProj5Api.patch # Allow Proj 8.0+ (commit b66e4a7, backported). Should be in soon after 9.0.3 - fix-hdf5-parallel.patch ) # ============================================================================= @@ -38,6 +37,14 @@ vcpkg_from_github( file(COPY "${CURRENT_PORT_DIR}/FindHDF5.cmake" DESTINATION "${SOURCE_PATH}/CMake/patches/99") # due to usage of targets in netcdf-c # ============================================================================= +# To use hdf5[parallel] in vtk requires feature mpi, see https://gitlab.kitware.com/vtk/vtk/-/issues/18552 +if (EXISTS "${CURRENT_INSTALLED_DIR}/share/hdf5/hdf5-config.cmake" AND NOT "mpi" IN_LIST FEATURES) + file(READ "${CURRENT_INSTALLED_DIR}/share/hdf5/hdf5-config.cmake" HDF5_CONFIG) + if ("${HDF5_CONFIG}" MATCHES "ENABLE_PARALLEL ON") + message(FATAL_ERROR "hdf5[parallel] requires feature 'mpi'") + endif() +endif() + # ============================================================================= # Options: # Collect CMake options for optional components @@ -142,7 +149,6 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "cuda" VTK_USE_CUDA "mpi" VTK_USE_MPI - "mpi" ENABLE_HDF5_PARALLEL "all" VTK_BUILD_ALL_MODULES ) # ============================================================================= From cb9428649693faeba19464c88d5f5225c63d647b Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Mon, 30 May 2022 01:12:36 -0700 Subject: [PATCH 4/8] Add test port vcpkg-ci-vtk --- .../test_ports/vcpkg-ci-vtk/portfile.cmake | 1 + scripts/test_ports/vcpkg-ci-vtk/vcpkg.json | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 scripts/test_ports/vcpkg-ci-vtk/portfile.cmake create mode 100644 scripts/test_ports/vcpkg-ci-vtk/vcpkg.json diff --git a/scripts/test_ports/vcpkg-ci-vtk/portfile.cmake b/scripts/test_ports/vcpkg-ci-vtk/portfile.cmake new file mode 100644 index 00000000000000..0015715fb66c72 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-vtk/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json b/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json new file mode 100644 index 00000000000000..86e3b520ca771c --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json @@ -0,0 +1,33 @@ +{ + "name": "vcpkg-ci-vtk", + "version-date": "2022-05-30", + "description": "Port to force features of certain ports within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "dependencies": [ + { + "name": "vtk", + "default-features": false, + "features": [ + "cuda", + "gdal", + "geojson", + "mpi", + "opengl", + "openvr", + "paraview", + "python", + "qt", + "utf8", + "vtkm" + ] + }, + { + "name": "vtk", + "default-features": false, + "features": [ + "atlmfc", + ], + "platform": "windows" + } + ] +} From 29a0b6a9ed5d54488255783d4eb40919bb9032d2 Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Mon, 30 May 2022 01:13:06 -0700 Subject: [PATCH 5/8] version --- versions/v-/vtk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/v-/vtk.json b/versions/v-/vtk.json index b2cdabd61ca88f..4179c5226d4fe2 100644 --- a/versions/v-/vtk.json +++ b/versions/v-/vtk.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "277a83c960d3e5cddc283f65f9045b3664d071b7", + "git-tree": "a4b3a0e5be24cb0c2ac714595e5d47e47f4e0139", "version-semver": "9.0.3-pv5.9.1", "port-version": 11 }, From 3bea547dda694199b442f805e1e6f8ccd4803743 Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Mon, 30 May 2022 02:07:28 -0700 Subject: [PATCH 6/8] fix json --- scripts/test_ports/vcpkg-ci-vtk/vcpkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json b/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json index 86e3b520ca771c..2c2eaa39a2c37e 100644 --- a/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json +++ b/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json @@ -25,7 +25,7 @@ "name": "vtk", "default-features": false, "features": [ - "atlmfc", + "atlmfc" ], "platform": "windows" } From 4a35b818ccb02116e9d50d3c5551cb5de1d57606 Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Sun, 5 Jun 2022 19:55:32 -0700 Subject: [PATCH 7/8] Add license --- scripts/test_ports/vcpkg-ci-vtk/vcpkg.json | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json b/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json index 2c2eaa39a2c37e..e4ea0b00e22897 100644 --- a/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json +++ b/scripts/test_ports/vcpkg-ci-vtk/vcpkg.json @@ -3,6 +3,7 @@ "version-date": "2022-05-30", "description": "Port to force features of certain ports within CI", "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", "dependencies": [ { "name": "vtk", From f4a6a95442027783608e129584879c43c2c296f6 Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Fri, 8 Jul 2022 08:26:53 -0700 Subject: [PATCH 8/8] Fix mpi4py, pdal and hdf5, add features, disable more components --- ports/vtk/fix-dependency-pdal.patch | 19 ++++ ports/vtk/fix-mpi4py.patch | 148 ++++++++++++++++++++++++++++ ports/vtk/fix-using-hdf5.patch | 26 +++++ ports/vtk/portfile.cmake | 17 ++++ ports/vtk/vcpkg.json | 22 +++++ 5 files changed, 232 insertions(+) create mode 100644 ports/vtk/fix-dependency-pdal.patch create mode 100644 ports/vtk/fix-mpi4py.patch diff --git a/ports/vtk/fix-dependency-pdal.patch b/ports/vtk/fix-dependency-pdal.patch new file mode 100644 index 00000000000000..23bbf8122b68cc --- /dev/null +++ b/ports/vtk/fix-dependency-pdal.patch @@ -0,0 +1,19 @@ +diff --git a/IO/PDAL/CMakeLists.txt b/IO/PDAL/CMakeLists.txt +index d6cd57c..1270dfb 100644 +--- a/IO/PDAL/CMakeLists.txt ++++ b/IO/PDAL/CMakeLists.txt +@@ -1,4 +1,4 @@ +-vtk_module_find_package(PACKAGE PDAL) ++vtk_module_find_package(PACKAGE PDAL CONFIG_MODE) + + set(classes + vtkPDALReader) +@@ -7,7 +7,7 @@ vtk_module_add_module(VTK::IOPDAL + CLASSES ${classes}) + vtk_module_link(VTK::IOPDAL + PRIVATE +- pdal_base) ++ ${PDAL_LIBRARIES}) + # XXX(pdal): PDAL should add include interfaces to its exported targets. See + # https://github.com/PDAL/PDAL/issues/2262. + vtk_module_include(VTK::IOPDAL diff --git a/ports/vtk/fix-mpi4py.patch b/ports/vtk/fix-mpi4py.patch new file mode 100644 index 00000000000000..dd7523b5f6c80a --- /dev/null +++ b/ports/vtk/fix-mpi4py.patch @@ -0,0 +1,148 @@ +diff --git a/ThirdParty/mpi4py/vtkmpi4py/src/mpi4py.MPI.c b/ThirdParty/mpi4py/vtkmpi4py/src/mpi4py.MPI.c +index d01c266..0220249 100644 +--- a/ThirdParty/mpi4py/vtkmpi4py/src/mpi4py.MPI.c ++++ b/ThirdParty/mpi4py/vtkmpi4py/src/mpi4py.MPI.c +@@ -154207,9 +154207,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_Datatype(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_8Datatype_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -154497,9 +154497,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_Request(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_7Request_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->ob_buf); +@@ -154877,9 +154877,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_Message(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_7Message_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->ob_buf); +@@ -155073,9 +155073,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_Op(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_2Op_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -155260,9 +155260,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_Group(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_5Group_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -155456,9 +155456,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_Info(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_4Info_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -155675,9 +155675,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_Errhandler(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_10Errhandler_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -155845,9 +155845,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_Comm(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_4Comm_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -156860,9 +156860,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_Win(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_3Win_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->ob_mem); +@@ -157166,9 +157166,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_File(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_4File_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -157436,9 +157436,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI_memory(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_6memory_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -157609,9 +157609,9 @@ static void __pyx_tp_dealloc_6mpi4py_3MPI__p_mem(PyObject *o) { + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_6mpi4py_3MPI_6_p_mem_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); diff --git a/ports/vtk/fix-using-hdf5.patch b/ports/vtk/fix-using-hdf5.patch index 834ab15e942f6e..e60fe3d0e6ca15 100644 --- a/ports/vtk/fix-using-hdf5.patch +++ b/ports/vtk/fix-using-hdf5.patch @@ -20,3 +20,29 @@ index 228d246..41af04d 100644 return (herr_t)HANDLE_H5G_GET_OBJINFO_ERR ( member_name ); } else { +diff --git a/ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Controller.hpp b/ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Controller.hpp +index c5c15d0..1212aee 100644 +--- a/ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Controller.hpp ++++ b/ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Controller.hpp +@@ -30,7 +30,7 @@ + + // So that hdf5 does not need to be included in the header files + // It would add a dependancy to programs that use Xdmf +-#ifndef _H5Ipublic_H ++#ifndef H5Ipublic_H + #ifndef XDMF_HID_T + #define XDMF_HID_T + typedef int hid_t; +diff --git a/ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Writer.hpp b/ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Writer.hpp +index cfbec6f..d690da7 100644 +--- a/ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Writer.hpp ++++ b/ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Writer.hpp +@@ -31,7 +31,7 @@ + + // So that hdf5 does not need to be included in the header files + // It would add a dependancy to programs that use Xdmf +-#ifndef _H5Ipublic_H ++#ifndef H5Ipublic_H + #ifndef XDMF_HID_T + #define XDMF_HID_T + typedef int hid_t; diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index a43ac936800c0c..6a2541d774aaea 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -30,6 +30,8 @@ vcpkg_from_github( fix-gdal.patch missing-limits.patch # This patch can be removed in next version. Since it has been merged to upstream via https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7611 UseProj5Api.patch # Allow Proj 8.0+ (commit b66e4a7, backported). Should be in soon after 9.0.3 + fix-mpi4py.patch + fix-dependency-pdal.patch ) # ============================================================================= @@ -63,6 +65,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS VTK_FEATURE_OPTIONS "vtkm" VTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel "vtkm" VTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters "vtkm" VTK_MODULE_ENABLE_VTK_vtkm + "pdal" VTK_MODULE_ENABLE_VTK_IOPDAL "python" VTK_MODULE_ENABLE_VTK_Python "python" VTK_MODULE_ENABLE_VTK_PythonContext2D "python" VTK_MODULE_ENABLE_VTK_PythonInterpreter @@ -87,6 +90,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS VTK_FEATURE_OPTIONS "openvr" VTK_MODULE_ENABLE_VTK_RenderingOpenVR "gdal" VTK_MODULE_ENABLE_VTK_IOGDAL "geojson" VTK_MODULE_ENABLE_VTK_IOGeoJSON + "libarchive" VTK_MODULE_ENABLE_VTK_CommonArchive ) # Replace common value to vtk value @@ -176,6 +180,19 @@ vcpkg_cmake_configure( ${ADDITIONAL_OPTIONS} -DVTK_DEBUG_MODULE_ALL=ON -DVTK_DEBUG_MODULE=ON + -DVTK_ENABLE_OSPRAY=OFF # Requires ospray + -DVTK_ENABLE_VISRTX=OFF # Requires visrtx + # Requires adios2 + -DVTK_MODULE_ENABLE_VTK_IOADIOS2=DONT_WANT + -DVTK_MODULE_ENABLE_VTK_fides=DONT_WANT + -DVTK_MODULE_ENABLE_VTK_IOFides=DONT_WANT + + -DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS=DONT_WANT # Requires OpenTURNS + -DVTK_MODULE_ENABLE_VTK_DomainsMicroscopy=DONT_WANT # Requires OpenSlide + -DVTK_MODULE_ENABLE_VTK_IOMySQL=DONT_WANT # Requires upstream update libmysql, see https://bugs.mysql.com/bug.php?id=85131 + # Requires ioss + -DVTK_MODULE_ENABLE_VTK_ioss=DONT_WANT + -DVTK_MODULE_ENABLE_VTK_IOIoss=DONT_WANT MAYBE_UNUSED_VARIABLES VTK_MODULE_ENABLE_VTK_PythonContext2D ) diff --git a/ports/vtk/vcpkg.json b/ports/vtk/vcpkg.json index bee36efd38b1a1..9445f3fb2d543b 100644 --- a/ports/vtk/vcpkg.json +++ b/ports/vtk/vcpkg.json @@ -50,6 +50,7 @@ "all": { "description": "Build all vtk modules", "dependencies": [ + "boost-assign", "ffmpeg", "libmysql", { @@ -58,7 +59,10 @@ "features": [ "gdal", "geojson", + "libarchive", + "liblas", "mpi", + "pdal", "python", "qt" ] @@ -105,6 +109,18 @@ "geojson": { "description": "Convert Geo JSON format to vtkPolyData" }, + "libarchive": { + "description": "Support libarchive compilation", + "dependencies": [ + "libarchive" + ] + }, + "liblas": { + "description": "Support liblas compilation", + "dependencies": [ + "liblas" + ] + }, "mpi": { "description": "MPI functionality for VTK", "dependencies": [ @@ -161,6 +177,12 @@ } ] }, + "pdal": { + "description": "Support PDAL compilation", + "dependencies": [ + "pdal" + ] + }, "python": { "description": "Python functionality for VTK", "dependencies": [