aboutsummaryrefslogtreecommitdiff
path: root/ports/vtk
diff options
context:
space:
mode:
authorGriffin Downs <35574547+grdowns@users.noreply.github.com>2019-04-12 02:30:59 -0700
committerGitHub <noreply@github.com>2019-04-12 02:30:59 -0700
commit0e000644053015b7f7a0985e14f0bd384c847d17 (patch)
tree7e456fd12b3bf281b28587338f1650017c8b32ab /ports/vtk
parent93ce6b4f27602cd18f4327c2cfd84093d472b8bb (diff)
parent39ba5b2b30c9f7b49e777a62093cdd49d05b53a9 (diff)
downloadvcpkg-0e000644053015b7f7a0985e14f0bd384c847d17.tar.gz
vcpkg-0e000644053015b7f7a0985e14f0bd384c847d17.zip
Merge branch 'master' into master
Diffstat (limited to 'ports/vtk')
-rw-r--r--ports/vtk/CONTROL8
-rw-r--r--ports/vtk/FindHDF5.cmake31
-rw-r--r--ports/vtk/disable-workaround-findhdf5.patch21
-rw-r--r--ports/vtk/dont-define-ssize_t.patch13
-rw-r--r--ports/vtk/fix-find-libharu.patch18
-rw-r--r--ports/vtk/fix-find-libproj4.patch68
-rw-r--r--ports/vtk/fix-find-mysql.patch10
-rw-r--r--ports/vtk/fix-find-odbc.patch11
-rw-r--r--ports/vtk/fix-pugixml-link.patch14
-rw-r--r--ports/vtk/fix_ogg_linkage.patch12
-rw-r--r--ports/vtk/portfile.cmake221
-rw-r--r--ports/vtk/use-fixed-find-hdf5.patch20
12 files changed, 75 insertions, 372 deletions
diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL
index 2521ed58c..0625a3ac1 100644
--- a/ports/vtk/CONTROL
+++ b/ports/vtk/CONTROL
@@ -1,7 +1,7 @@
Source: vtk
-Version: 8.1.0-7
+Version: 8.2.0-2
Description: Software system for 3D computer graphics, image processing, and visualization
-Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora
+Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c
Feature: openvr
Description: OpenVR functionality for VTK
@@ -18,7 +18,3 @@ Build-Depends: msmpi, hdf5[parallel]
Feature: python
Description: Python functionality for VTK
Build-Depends: python3
-
-Feature: libharu
-Description: PDF libharu functionality for VTK
-Build-Depends: libharu
diff --git a/ports/vtk/FindHDF5.cmake b/ports/vtk/FindHDF5.cmake
deleted file mode 100644
index f3c6bd30f..000000000
--- a/ports/vtk/FindHDF5.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-find_package(HDF5 NO_MODULE REQUIRED)
-
-set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
-
-if(NOT TARGET vtk::hdf5::hdf5)
- add_library(vtk::hdf5::hdf5 INTERFACE IMPORTED GLOBAL)
- if(TARGET hdf5::hdf5-static)
- set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5-static")
- elseif(TARGET hdf5::hdf5-shared)
- set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5-shared")
- else()
- message(FATAL_ERROR "could not find target hdf5-*")
- endif()
-endif()
-
-if(NOT TARGET vtk::hdf5::hdf5_hl)
- add_library(vtk::hdf5::hdf5_hl INTERFACE IMPORTED GLOBAL)
- if(TARGET hdf5::hdf5_hl-static)
- set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5_hl-static")
- elseif(TARGET hdf5::hdf5_hl-shared)
- set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5_hl-shared")
- else()
- message(FATAL_ERROR "could not find target hdf5_hl-*")
- endif()
-endif()
-
-set(HDF5_LIBRARIES "$<BUILD_INTERFACE:vtk::hdf5::hdf5>" "$<BUILD_INTERFACE:vtk::hdf5::hdf5_hl>")
-
-find_package_handle_standard_args(HDF5
- REQUIRED_VARS HDF5_INCLUDE_DIRS HDF5_LIBRARIES
-)
diff --git a/ports/vtk/disable-workaround-findhdf5.patch b/ports/vtk/disable-workaround-findhdf5.patch
deleted file mode 100644
index 004397048..000000000
--- a/ports/vtk/disable-workaround-findhdf5.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/CMake/vtkModuleMacros.cmake Mon Jun 26 15:29:04 2017
-+++ b/CMake/vtkModuleMacros.cmake Tue Aug 08 17:54:03 2017
-@@ -893,18 +893,6 @@
- set(vtk${_lower}_LIBRARIES "${${_upper_pkg_name}_LIBRARIES}")
- endif()
-
-- #a workaround for bad FindHDF5 behavior in which deb or opt can
-- #end up empty. cmake >= 2.8.12.2 makes this unnecessary
-- string(REGEX MATCH "debug;.*optimized;.*"
-- _remove_deb_opt "${vtk${_lower}_LIBRARIES}")
-- if (_remove_deb_opt)
-- set(_tmp ${vtk${_lower}_LIBRARIES})
-- list(REMOVE_ITEM _tmp "debug")
-- list(REMOVE_ITEM _tmp "optimized")
-- list(REMOVE_DUPLICATES _tmp)
-- set(vtk${_lower}_LIBRARIES ${_tmp})
-- endif()
--
- set(vtk${_lower}_INCLUDE_DIRS "")
- else()
- if(_nolibs)
diff --git a/ports/vtk/dont-define-ssize_t.patch b/ports/vtk/dont-define-ssize_t.patch
deleted file mode 100644
index ba9b5e605..000000000
--- a/ports/vtk/dont-define-ssize_t.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/ThirdParty/netcdf/vtknetcdf/ncconfig.h.in b/ThirdParty/netcdf/vtknetcdf/ncconfig.h.in
-index 0a19c41..0d92371 100644
---- a/ThirdParty/netcdf/vtknetcdf/ncconfig.h.in
-+++ b/ThirdParty/netcdf/vtknetcdf/ncconfig.h.in
-@@ -110,7 +110,7 @@
- #cmakedefine HAVE_LIBHDF5_HL
-
- /* Define to `int' if system doesn't define. */
--#cmakedefine ssize_t @ssize_t@
-+/* #cmakedefine ssize_t @ssize_t@ */
-
- /* Define to `int' if system doesn't define. */
- #cmakedefine ptrdiff_t @ptrdiff_t@
diff --git a/ports/vtk/fix-find-libharu.patch b/ports/vtk/fix-find-libharu.patch
deleted file mode 100644
index 1c66408c6..000000000
--- a/ports/vtk/fix-find-libharu.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/CMake/FindLibHaru.cmake Mon Jun 26 15:29:04 2017
-+++ b/CMake/FindLibHaru.cmake Wed Aug 16 09:30:12 2017
-@@ -19,9 +19,13 @@
-
- find_path(LIBHARU_INCLUDE_DIR hpdf.h)
-
--find_library(LIBHARU_LIBRARY NAMES hpdf hpdfs)
-+find_library(LIBHARU_LIBRARY_RELEASE NAMES hpdf libhpdf)
-+find_library(LIBHARU_LIBRARY_DEBUG NAMES hpdfd libhpdfd)
-
--# handle the QUIETLY and REQUIRED arguments and set FONTCONFIG_FOUND to TRUE if
-+include(SelectLibraryConfigurations)
-+select_library_configurations(LIBHARU)
-+
-+# handle the QUIETLY and REQUIRED arguments and set LIBHARU_FOUND to TRUE if
- # all listed variables are TRUE
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(LibHaru DEFAULT_MSG
diff --git a/ports/vtk/fix-find-libproj4.patch b/ports/vtk/fix-find-libproj4.patch
deleted file mode 100644
index 4074d87a9..000000000
--- a/ports/vtk/fix-find-libproj4.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- a/CMake/FindLIBPROJ4.cmake Thu Aug 10 21:03:55 2017
-+++ b/CMake/FindLIBPROJ4.cmake Thu Aug 10 21:08:58 2017
-@@ -11,7 +11,7 @@
- file( TO_CMAKE_PATH "$ENV{LIBPROJ4_DIR}" _LIBPROJ4_DIR )
- endif ()
-
-- find_library( LIBPROJ4_LIBRARIES
-+ find_library( LIBPROJ4_LIBRARY_RELEASE
- NAMES proj
- PATHS
- ${_LIBPROJ4_DIR}/lib64
-@@ -24,7 +24,21 @@
- ${CMAKE_INSTALL_PREFIX}/lib
- /usr/local/lib
- /usr/lib
-- NO_DEFAULT_PATH
-+ )
-+
-+ find_library( LIBPROJ4_LIBRARY_DEBUG
-+ NAMES projd
-+ PATHS
-+ ${_LIBPROJ4_DIR}/lib64
-+ ${CMAKE_INSTALL_PREFIX}/lib64
-+ /usr/local/lib64
-+ /usr/lib64
-+ ${_LIBPROJ4_DIR}
-+ ${_LIBPROJ4_DIR}/lib
-+ ${CMAKE_INSTALL_PREFIX}/bin
-+ ${CMAKE_INSTALL_PREFIX}/lib
-+ /usr/local/lib
-+ /usr/lib
- )
-
- find_path( LIBPROJ4_INCLUDE_DIR
-@@ -37,19 +51,22 @@
- /usr/local/include
- /usr/include
- /usr/include/postgresql
-- NO_DEFAULT_PATH
- )
-
-- if ( NOT LIBPROJ4_INCLUDE_DIR OR NOT LIBPROJ4_LIBRARIES )
-- if ( LIBPROJ4_REQUIRED )
-- message( FATAL_ERROR "LIBPROJ4 is required. Set LIBPROJ4_DIR" )
-- endif ()
-- else ()
-- set( LIBPROJ4_FOUND 1 )
-- mark_as_advanced( LIBPROJ4_FOUND )
-- endif ()
-+ include(SelectLibraryConfigurations)
-+ select_library_configurations(LIBPROJ4)
-+
-+ include(FindPackageHandleStandardArgs)
-+ find_package_handle_standard_args(LIBPROJ4
-+ REQUIRED_VARS LIBPROJ4_LIBRARY LIBPROJ4_INCLUDE_DIR)
-+
-+ if(LIBPROJ4_FOUND)
-+ set(LIBPROJ4_INCLUDE_DIRS ${LIBPROJ4_INCLUDE_DIR})
-
-+ if(NOT LIBPROJ4_LIBRARIES)
-+ set(LIBPROJ4_LIBRARIES ${LIBPROJ4_LIBRARY})
-+ endif()
-+ endif()
- endif ()
-
--mark_as_advanced( FORCE LIBPROJ4_INCLUDE_DIR )
--mark_as_advanced( FORCE LIBPROJ4_LIBRARIES )
-+mark_as_advanced(LIBPROJ4_INCLUDE_DIR)
diff --git a/ports/vtk/fix-find-mysql.patch b/ports/vtk/fix-find-mysql.patch
deleted file mode 100644
index d2f984cd5..000000000
--- a/ports/vtk/fix-find-mysql.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMake/FindMySQL.cmake Mon Jun 26 15:29:04 2017
-+++ b/CMake/FindMySQL.cmake Wed Aug 16 11:21:58 2017
-@@ -28,6 +28,7 @@
- "C:/MySQL/include"
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/include"
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/include"
-+ PATH_SUFFIXES mysql
- DOC "Specify the directory containing mysql.h."
- )
-
diff --git a/ports/vtk/fix-find-odbc.patch b/ports/vtk/fix-find-odbc.patch
deleted file mode 100644
index 0690ed0a9..000000000
--- a/ports/vtk/fix-find-odbc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMake/FindODBC.cmake Mon Jun 26 15:29:04 2017
-+++ b/CMake/FindODBC.cmake Wed Aug 16 12:58:11 2017
-@@ -30,7 +30,7 @@
- )
-
- FIND_LIBRARY( ODBC_LIBRARY
-- NAMES odbc iodbc unixodbc
-+ NAMES odbc iodbc unixodbc odbc32
- PATHS
- /usr/lib
- /usr/lib/odbc
diff --git a/ports/vtk/fix-pugixml-link.patch b/ports/vtk/fix-pugixml-link.patch
new file mode 100644
index 000000000..8708506b6
--- /dev/null
+++ b/ports/vtk/fix-pugixml-link.patch
@@ -0,0 +1,14 @@
+diff --git a/IO/CityGML/CMakeLists.txt b/IO/CityGML/CMakeLists.txt
+index ce979ba..322e2de 100644
+--- a/IO/CityGML/CMakeLists.txt
++++ b/IO/CityGML/CMakeLists.txt
+@@ -4,8 +4,5 @@ vtk_module_library(vtkIOCityGML ${Module_SRCS})
+ # pugixml does not set _INCLUDE_DIRS or _LIBRARIES
+ if(VTK_USE_SYSTEM_PUGIXML AND NOT pugixml_INCLUDE_DIRS)
+ find_package(pugixml REQUIRED)
+- get_target_property(pugixml_INCLUDE_DIRS pugixml INTERFACE_INCLUDE_DIRECTORIES)
+- get_target_property(pugixml_LIBRARIES pugixml LOCATION)
+- include_directories(${pugixml_INCLUDE_DIRS})
+- vtk_module_link_libraries(vtkIOCityGML LINK_PRIVATE ${pugixml_LIBRARIES})
++ vtk_module_link_libraries(vtkIOCityGML LINK_PRIVATE pugixml)
+ endif()
diff --git a/ports/vtk/fix_ogg_linkage.patch b/ports/vtk/fix_ogg_linkage.patch
new file mode 100644
index 000000000..c7f22f4c8
--- /dev/null
+++ b/ports/vtk/fix_ogg_linkage.patch
@@ -0,0 +1,12 @@
+diff --git a/IO/Movie/module.cmake b/IO/Movie/module.cmake
+index 4275171..88204ad 100644
+--- a/IO/Movie/module.cmake
++++ b/IO/Movie/module.cmake
+@@ -14,6 +14,7 @@ vtk_module(vtkIOMovie
+ vtkIO
+ DEPENDS
+ ${vtkIOMovie_vtkoggtheora}
++ vtkogg
+ vtkCommonExecutionModel
+ PRIVATE_DEPENDS
+ vtkCommonCore
diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake
index 8b6123eb7..536a81141 100644
--- a/ports/vtk/portfile.cmake
+++ b/ports/vtk/portfile.cmake
@@ -4,7 +4,7 @@ endif()
include(vcpkg_common_functions)
-set(VTK_SHORT_VERSION "8.1")
+set(VTK_SHORT_VERSION "8.2")
set(VTK_LONG_VERSION "${VTK_SHORT_VERSION}.0")
# =============================================================================
# Options:
@@ -16,9 +16,9 @@ else()
endif()
if ("mpi" IN_LIST FEATURES)
- set(VTK_WITH_MPI ON )
+ set(VTK_Group_MPI ON)
else()
- set(VTK_WITH_MPI OFF )
+ set(VTK_Group_MPI OFF)
endif()
if ("python" IN_LIST FEATURES)
@@ -28,15 +28,9 @@ else()
endif()
if("openvr" IN_LIST FEATURES)
- set(VTK_WITH_OPENVR ON)
+ set(Module_vtkRenderingOpenVR ON)
else()
- set(VTK_WITH_OPENVR OFF)
-endif()
-
-if("libharu" IN_LIST FEATURES)
- set(VTK_WITH_LIBHARU ON)
-else()
- set(VTK_WITH_LIBHARU OFF)
+ set(Module_vtkRenderingOpenVR OFF)
endif()
set(VTK_WITH_ALL_MODULES OFF) # IMPORTANT: if ON make sure `qt5`, `mpi`, `python3`, `ffmpeg`, `gdal`, `fontconfig`,
@@ -46,32 +40,14 @@ set(VTK_WITH_ALL_MODULES OFF) # IMPORTANT: if ON make sure `qt5`
# Clone & patch
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO "Kitware/VTK"
+ REPO Kitware/VTK
REF "v${VTK_LONG_VERSION}"
- SHA512 09e110cba4ad9a6684e9b2af0cbb5b9053e3596ccb62aab96cd9e71aa4a96c809d96e13153ff44c28ad83015a61ba5195f7d34056707b62654c1bc057f9b9edf
- HEAD_REF "master"
+ SHA512 fd1d9c2872baa6eca7f8105b0057b56ec554e9d5eaf25985302e7fc032bdce72255d79e3f5f16ca50504151bda49cb3a148272ba32e0f410b4bdb70959b8f3f4
+ HEAD_REF master
PATCHES
- # Disable ssize_t because this can conflict with ssize_t that is defined on windows.
- dont-define-ssize_t.patch
-
- # We force CMake to use it's own version of the FindHDF5 module since newer versions
- # shipped with CMake behave differently. E.g. the one shipped with CMake 3.9 always
- # only finds the release libraries, but not the debug libraries.
- # The file shipped with CMake allows us to set the libraries explicitly as it is done below.
- # Maybe in the future we can disable the patch and use the new version shipped with CMake
- # together with the hdf5-config.cmake that is written by HDF5 itself, but currently VTK
- # disables taking the config into account explicitly.
- use-fixed-find-hdf5.patch
-
- # We disable a workaround in the VTK CMake scripts that can lead to the fact that a dependency
- # will link to both, the debug and the release library.
- disable-workaround-findhdf5.patch
-
- fix-find-libproj4.patch
- fix-find-libharu.patch
- fix-find-mysql.patch
- fix-find-odbc.patch
fix-find-lz4.patch
+ fix_ogg_linkage.patch
+ fix-pugixml-link.patch
)
# Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK,
@@ -82,7 +58,6 @@ vcpkg_from_github(
file(REMOVE ${SOURCE_PATH}/CMake/FindGLEW.cmake)
file(REMOVE ${SOURCE_PATH}/CMake/FindPythonLibs.cmake)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindGDAL.cmake DESTINATION ${SOURCE_PATH}/CMake)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindHDF5.cmake DESTINATION ${SOURCE_PATH}/CMake/NewCMake)
# =============================================================================
# Collect CMake options for optional components
@@ -94,12 +69,6 @@ if(VTK_WITH_QT)
)
endif()
-if(VTK_WITH_MPI)
- list(APPEND ADDITIONAL_OPTIONS
- -DVTK_Group_MPI=ON
- )
-endif()
-
if(VTK_WITH_PYTHON)
list(APPEND ADDITIONAL_OPTIONS
-DVTK_WRAP_PYTHON=ON
@@ -107,18 +76,6 @@ if(VTK_WITH_PYTHON)
)
endif()
-if(VTK_WITH_OPENVR)
- list(APPEND ADDITIONAL_OPTIONS
- -DModule_vtkRenderingOpenVR=ON
- )
-endif()
-
-if(VTK_WITH_LIBHARU)
- list(APPEND ADDITIONAL_OPTIONS
- -DVTK_USE_SYSTEM_LIBHARU=ON
- )
-endif()
-
if(VTK_WITH_ALL_MODULES)
list(APPEND ADDITIONAL_OPTIONS
-DVTK_BUILD_ALL_MODULES=ON
@@ -136,38 +93,39 @@ if(VTK_WITH_ALL_MODULES)
)
endif()
+if(NOT VCPKG_CMAKE_SYSTEM_NAME)
+ set(Module_vtkGUISupportMFC ON)
+else()
+ set(Module_vtkGUISupportMFC OFF)
+endif()
+
# =============================================================================
# Configure & Install
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
- -DVTK_Group_Imaging=ON
- -DVTK_Group_Views=ON
-DBUILD_TESTING=OFF
-DBUILD_EXAMPLES=OFF
- -DVTK_USE_SYSTEM_EXPAT=ON
- -DVTK_USE_SYSTEM_FREETYPE=ON
- # -DVTK_USE_SYSTEM_GL2PS=ON
- -DVTK_USE_SYSTEM_JPEG=ON
- -DVTK_USE_SYSTEM_GLEW=ON
- -DVTK_USE_SYSTEM_HDF5=ON
- -DVTK_USE_SYSTEM_JSONCPP=ON
- -DVTK_USE_SYSTEM_LIBPROJ4=ON
- -DVTK_USE_SYSTEM_LIBXML2=ON
- -DVTK_USE_SYSTEM_LZ4=ON
- # -DVTK_USE_SYSTEM_NETCDF=ON
- # -DVTK_USE_SYSTEM_NETCDFCPP=ON
- -DVTK_USE_SYSTEM_OGGTHEORA=ON
- -DVTK_USE_SYSTEM_PNG=ON
- -DVTK_USE_SYSTEM_TIFF=ON
- -DVTK_USE_SYSTEM_ZLIB=ON
-DVTK_INSTALL_INCLUDE_DIR=include
-DVTK_INSTALL_DATA_DIR=share/vtk/data
-DVTK_INSTALL_DOC_DIR=share/vtk/doc
-DVTK_INSTALL_PACKAGE_DIR=share/vtk
-DVTK_INSTALL_RUNTIME_DIR=bin
-DVTK_FORBID_DOWNLOADS=ON
+
+ # We set all libraries to "system" and explicitly list the ones that should use embedded copies
+ -DVTK_USE_SYSTEM_LIBRARIES=ON
+ -DVTK_USE_SYSTEM_GL2PS=OFF
+
+ # Select modules / groups to install
+ -DVTK_Group_Imaging=ON
+ -DVTK_Group_Views=ON
+ -DModule_vtkGUISupportMFC=${Module_vtkGUISupportMFC}
+ -DModule_vtkRenderingOpenVR=${Module_vtkRenderingOpenVR}
+ -DVTK_Group_MPI=${VTK_Group_MPI}
+
${ADDITIONAL_OPTIONS}
)
@@ -196,110 +154,25 @@ if(VTK_WITH_ALL_MODULES)
file(WRITE ${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets-debug.cmake "${VTK_TARGETS_DEBUG_CONTENT}")
endif()
-# For VTK `vcpkg_fixup_cmake_targets` is not enough:
-# Files for system third party dependencies are written to modules that
-# are located in the paths `share/vtk/Modules` and `debug/share/vtk/Modules`.
-# In the release folder, only the release libraries are referenced (e.g. "C:/vcpkg/installed/x64-windows/lib/zlib.lib").
-# But in the debug folder both libraries (e.g. "optimized;C:/vcpkg/installed/x64-windows/lib/zlib.lib;debug;C:/vcpkg/installed/x64-windows/debug/lib/zlibd.lib")
-# or only the debug library (e.g. "C:/vcpkg/installed/x64-windows/debug/lib/hdf5_D.lib") is referenced.
-# This is because VCPKG appends only the release library prefix (.../x64-windows/lib)
-# when configuring release but both (.../x64-windows/lib and .../x64-windows/debug/lib)
-# when configuring debug.
-# Now if we delete the debug/share/Modules folder and just leave share/Modules, a library
-# that links to VTK will always use the release third party dependencies, even if
-# debug VTK is used.
-#
-# The following code merges the libraries from both release and debug:
-
-include(${CMAKE_CURRENT_LIST_DIR}/SplitLibraryConfigurations.cmake)
-
-function(_vtk_combine_third_party_libraries MODULE_NAME)
- set(MODULE_LIBRARIES_REGEX "set\\(${MODULE_NAME}_LIBRARIES \"([^\"]*)\"\\)")
-
- # Read release libraries
- file(READ "${CURRENT_PACKAGES_DIR}/share/vtk/Modules/${MODULE_NAME}.cmake" RELEASE_MODULE_CONTENT)
- if("${RELEASE_MODULE_CONTENT}" MATCHES "${MODULE_LIBRARIES_REGEX}")
- set(RELEASE_LIBRARY_LIST "${CMAKE_MATCH_1}")
- else()
- message(FATAL_ERROR "Could not extract module libraries for ${MODULE_NAME}")
- endif()
-
- # Read debug libraries
- file(READ "${CURRENT_PACKAGES_DIR}/debug/share/vtk/Modules/${MODULE_NAME}.cmake" DEBUG_MODULE_CONTENT)
- if("${DEBUG_MODULE_CONTENT}" MATCHES "${MODULE_LIBRARIES_REGEX}")
- set(DEBUG_LIBRARY_LIST "${CMAKE_MATCH_1}")
- else()
- message(FATAL_ERROR "Could not extract module libraries for ${MODULE_NAME}")
- endif()
-
- split_library_configurations("${RELEASE_LIBRARY_LIST}" OPTIMIZED_RELEASE_LIBRARIES DEBUG_RELEASE_LIBRARIES GENERAL_RELEASE_LIBRARIES)
- split_library_configurations("${DEBUG_LIBRARY_LIST}" OPTIMIZED_DEBUG_LIBRARIES DEBUG_DEBUG_LIBRARIES GENERAL_DEBUG_LIBRARIES)
-
- # Combine libraries and wrap them in generator expressions
- foreach(LIBRARY ${OPTIMIZED_RELEASE_LIBRARIES} ${GENERAL_RELEASE_LIBRARIES})
- list(APPEND LIBRARY_LIST "$<$<NOT:$<CONFIG:Debug>>:${LIBRARY}>")
- endforeach()
- foreach(LIBRARY ${DEBUG_DEBUG_LIBRARIES} ${GENERAL_DEBUG_LIBRARIES})
- list(APPEND LIBRARY_LIST "$<$<CONFIG:Debug>:${LIBRARY}>")
- endforeach()
-
- # Write combined libraries back
- string(REGEX REPLACE "${MODULE_LIBRARIES_REGEX}"
- "set(${MODULE_NAME}_LIBRARIES \"${LIBRARY_LIST}\")"
- RELEASE_MODULE_CONTENT
- "${RELEASE_MODULE_CONTENT}"
- )
- file(WRITE "${CURRENT_PACKAGES_DIR}/share/vtk/Modules/${MODULE_NAME}.cmake" "${RELEASE_MODULE_CONTENT}")
-endfunction()
-
-# IMPORTANT: Please make sure to extend this list whenever a new library is marked `USE_SYSTEM` in the configure step above!
-set(SYSTEM_THIRD_PARTY_MODULES
- vtkexpat
- vtkfreetype
- vtkjpeg
- vtkglew
- vtkhdf5
- vtkjsoncpp
- vtklibproj4
- vtklibxml2
- vtklz4
- vtkoggtheora
- vtkpng
- vtktiff
- vtkzlib
- # vtkgl2ps
- vtklibharu
-)
-
-if(VTK_WITH_PYTHON OR VTK_WITH_ALL_MODULES)
- list(APPEND SYSTEM_THIRD_PARTY_MODULES
- vtkPython
- )
-endif()
-
-if(VTK_WITH_ALL_MODULES)
- list(APPEND SYSTEM_THIRD_PARTY_MODULES
- AutobahnPython
- )
-endif()
-
-foreach(MODULE IN LISTS SYSTEM_THIRD_PARTY_MODULES)
- _vtk_combine_third_party_libraries("${MODULE}")
-endforeach()
-
-# Remove all explicit references to vcpkg system libraries in the general VTKTargets.cmake file
-# since these references always point to the release libraries, even in the debug case.
-# The dependencies should be handled by the explicit modules we fixed above, so removing
-# them here shouldn't cause any problems.
-file(READ "${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets.cmake" VTK_TARGETS_CONTENT)
-string(REGEX REPLACE "${CURRENT_INSTALLED_DIR}/lib/[^\\.]*\\.lib" "" VTK_TARGETS_CONTENT "${VTK_TARGETS_CONTENT}")
-file(WRITE "${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets.cmake" "${VTK_TARGETS_CONTENT}")
-
-# Remove any remaining stray absolute references to the installed directory.
-file(GLOB_RECURSE CMAKE_FILES ${CURRENT_PACKAGES_DIR}/share/vtk/*.cmake)
+#file(READ "${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets.cmake" VTK_TARGETS_CONTENT)
+# Remove unset of _IMPORT_PREFIX in VTKTargets.cmake
+#_IMPORT_PREFIX is required by vtkModules due to vcpkg_fixup_cmake_targets changing all cmake files (to use _IMPORT_PREFIX).
+#STRING(REPLACE [[set(_IMPORT_PREFIX)]]
+#[[
+# VCPKG: The value of _IMPORT_PREFIX should not be unset.
+#set(_IMPORT_PREFIX)
+#]]
+#VTK_TARGETS_CONTENT "${VTK_TARGETS_CONTENT}")
+#file(WRITE "${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets.cmake" "${VTK_TARGETS_CONTENT}")
+
+#file(READ "${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets.cmake" VTK_TARGETS_CONTENT)
+
+# Fix _IMPORT_PREFIX. It is not set within the Modules cmake (only set in VTKTargets.cmake).
+# Since for VCPKG _IMPORT_PREFIX == VTK_INSTALL_PREFIX we just replace it with that.
+file(GLOB_RECURSE CMAKE_FILES ${CURRENT_PACKAGES_DIR}/share/vtk/Modules/*.cmake)
foreach(FILE IN LISTS CMAKE_FILES)
file(READ "${FILE}" _contents)
- string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${VTK_INSTALL_PREFIX}" _contents "${_contents}")
+ string(REPLACE "\${_IMPORT_PREFIX}" "\${VTK_INSTALL_PREFIX}" _contents "${_contents}")
file(WRITE "${FILE}" "${_contents}")
endforeach()
@@ -378,7 +251,7 @@ if(VTK_WITH_ALL_MODULES)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/XdmfConfig.cmake)
endif()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
diff --git a/ports/vtk/use-fixed-find-hdf5.patch b/ports/vtk/use-fixed-find-hdf5.patch
deleted file mode 100644
index 762a9ab07..000000000
--- a/ports/vtk/use-fixed-find-hdf5.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/CMake/FindHDF5.cmake b/CMake/FindHDF5.cmake
-index 6d558e39b1..9511e9a1ad 100644
---- a/CMake/FindHDF5.cmake
-+++ b/CMake/FindHDF5.cmake
-@@ -3,11 +3,11 @@
- # (BUG #0014363).
-
- # include the default FindHDF5.cmake.
--if(CMAKE_VERSION VERSION_LESS 3.6.1)
-+#if(CMAKE_VERSION VERSION_LESS 3.6.1)
- include(${CMAKE_CURRENT_LIST_DIR}/NewCMake/FindHDF5.cmake)
--else()
-- include(${CMAKE_ROOT}/Modules/FindHDF5.cmake)
--endif()
-+#else()
-+# include(${CMAKE_ROOT}/Modules/FindHDF5.cmake)
-+#endif()
-
- if(HDF5_FOUND AND (HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL))
- include(vtkMPI)