aboutsummaryrefslogtreecommitdiff
path: root/ports/vtk
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2019-04-03 02:16:30 -0700
committerRobert Schumacher <roschuma@microsoft.com>2019-04-03 04:15:00 -0700
commitd788ada4e97ce5b36fc397a94da453814342ec43 (patch)
tree158c36dcfd2cf8514b409a9074e2d526c963458b /ports/vtk
parent641e1cd53db09305530130c78ef2b473a52682a1 (diff)
downloadvcpkg-d788ada4e97ce5b36fc397a94da453814342ec43.tar.gz
vcpkg-d788ada4e97ce5b36fc397a94da453814342ec43.zip
[vtk] Fix flakiness by relying on vcpkg-provided dependencies
[libharu] Add patches required for vtk [vcpkg-build-cmake] Add retry logic for mt.exe failures
Diffstat (limited to 'ports/vtk')
-rw-r--r--ports/vtk/CONTROL8
-rw-r--r--ports/vtk/fix-pugixml-link.patch14
-rw-r--r--ports/vtk/portfile.cmake73
3 files changed, 35 insertions, 60 deletions
diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL
index 0d489e677..c57586824 100644
--- a/ports/vtk/CONTROL
+++ b/ports/vtk/CONTROL
@@ -1,7 +1,7 @@
Source: vtk
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, atlmfc (windows)
+Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3
Feature: openvr
Description: OpenVR functionality for VTK
@@ -9,7 +9,7 @@ Build-Depends: sdl2, openvr
Feature: qt
Description: Qt functionality for VTK
-Build-Depends: qt5
+Build-Depends: qt5, netcdf-c
Feature: mpi
Description: MPI 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/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/portfile.cmake b/ports/vtk/portfile.cmake
index baff2cb06..deed58eb9 100644
--- a/ports/vtk/portfile.cmake
+++ b/ports/vtk/portfile.cmake
@@ -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,14 +40,16 @@ 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 fd1d9c2872baa6eca7f8105b0057b56ec554e9d5eaf25985302e7fc032bdce72255d79e3f5f16ca50504151bda49cb3a148272ba32e0f410b4bdb70959b8f3f4
HEAD_REF "master"
PATCHES
fix-find-lz4.patch
fix_ogg_linkage.patch
+ fix-pugixml-link.patch
)
+
# Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK,
# since they do not detect the debug libraries correctly.
# The default files distributed with CMake (>= 3.9) should be superior by all means.
@@ -73,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
@@ -86,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
@@ -123,44 +101,31 @@ endif()
# =============================================================================
# Configure & Install
-if(${VCPKG_LIBRARY_LINKAGE} MATCHES "static")
- set(HDF5_USE_STATIC_LIBRARIES ON)
-endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
- -DHDF5_USE_STATIC_LIBRARIES=${HDF5_USE_STATIC_LIBRARIES}
- -DHAVE_SNPRINTF=ON
- -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_LIBPROJ=ON
- -DVTK_USE_SYSTEM_LIBXML2=ON
- -DVTK_USE_SYSTEM_LZ4=ON
- # -DVTK_USE_SYSTEM_NETCDF=ON
- # -DVTK_USE_SYSTEM_NETCDFCPP=ON
- -DVTK_USE_SYSTEM_OGG=ON
- -DVTK_USE_SYSTEM_THEORA=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}
)
@@ -286,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()