diff options
| author | Griffin Downs <35574547+grdowns@users.noreply.github.com> | 2019-04-12 02:30:59 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-04-12 02:30:59 -0700 |
| commit | 0e000644053015b7f7a0985e14f0bd384c847d17 (patch) | |
| tree | 7e456fd12b3bf281b28587338f1650017c8b32ab /ports/vtk | |
| parent | 93ce6b4f27602cd18f4327c2cfd84093d472b8bb (diff) | |
| parent | 39ba5b2b30c9f7b49e777a62093cdd49d05b53a9 (diff) | |
| download | vcpkg-0e000644053015b7f7a0985e14f0bd384c847d17.tar.gz vcpkg-0e000644053015b7f7a0985e14f0bd384c847d17.zip | |
Merge branch 'master' into master
Diffstat (limited to 'ports/vtk')
| -rw-r--r-- | ports/vtk/CONTROL | 8 | ||||
| -rw-r--r-- | ports/vtk/FindHDF5.cmake | 31 | ||||
| -rw-r--r-- | ports/vtk/disable-workaround-findhdf5.patch | 21 | ||||
| -rw-r--r-- | ports/vtk/dont-define-ssize_t.patch | 13 | ||||
| -rw-r--r-- | ports/vtk/fix-find-libharu.patch | 18 | ||||
| -rw-r--r-- | ports/vtk/fix-find-libproj4.patch | 68 | ||||
| -rw-r--r-- | ports/vtk/fix-find-mysql.patch | 10 | ||||
| -rw-r--r-- | ports/vtk/fix-find-odbc.patch | 11 | ||||
| -rw-r--r-- | ports/vtk/fix-pugixml-link.patch | 14 | ||||
| -rw-r--r-- | ports/vtk/fix_ogg_linkage.patch | 12 | ||||
| -rw-r--r-- | ports/vtk/portfile.cmake | 221 | ||||
| -rw-r--r-- | ports/vtk/use-fixed-find-hdf5.patch | 20 |
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) |
