aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-11-08 15:33:29 -0800
committerRobert Schumacher <roschuma@microsoft.com>2017-11-08 15:34:02 -0800
commit087dc9410c95c42b38f64d5caa173905f5fa6089 (patch)
treeaaef9de288def9ddd621064f6594515797de7a9a
parentbb47f71bf373a61b95c604eab80d636c70605ef4 (diff)
downloadvcpkg-087dc9410c95c42b38f64d5caa173905f5fa6089.tar.gz
vcpkg-087dc9410c95c42b38f64d5caa173905f5fa6089.zip
[vtk] Fix builds, including static against HDF5.
-rw-r--r--ports/vtk/CONTROL2
-rw-r--r--ports/vtk/FindHDF5.cmake27
-rw-r--r--ports/vtk/portfile.cmake12
3 files changed, 30 insertions, 11 deletions
diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL
index 2ef7ffeca..7cd91a985 100644
--- a/ports/vtk/CONTROL
+++ b/ports/vtk/CONTROL
@@ -1,5 +1,5 @@
Source: vtk
-Version: 8.0.1-2
+Version: 8.0.1-3
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
diff --git a/ports/vtk/FindHDF5.cmake b/ports/vtk/FindHDF5.cmake
new file mode 100644
index 000000000..55d007006
--- /dev/null
+++ b/ports/vtk/FindHDF5.cmake
@@ -0,0 +1,27 @@
+find_package(HDF5 NO_MODULE REQUIRED)
+
+set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
+
+add_library(vtk::hdf5::hdf5 INTERFACE IMPORTED GLOBAL)
+if(TARGET hdf5-static)
+ set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5-static")
+elseif(TARGET hdf5-shared)
+ set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5-shared")
+else()
+ message(FATAL_ERROR "could not find target hdf5-*")
+endif()
+
+add_library(vtk::hdf5::hdf5_hl INTERFACE IMPORTED GLOBAL)
+if(TARGET hdf5_hl-static)
+ set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5_hl-static")
+elseif(TARGET hdf5_hl-shared)
+ set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5_hl-shared")
+else()
+ message(FATAL_ERROR "could not find target hdf5_hl-*")
+endif()
+
+set(HDF5_LIBRARIES vtk::hdf5::hdf5 vtk::hdf5::hdf5_hl)
+
+find_package_handle_standard_args(HDF5
+ REQUIRED_VARS HDF5_INCLUDE_DIRS HDF5_LIBRARIES
+)
diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake
index d865d1df2..1168691cc 100644
--- a/ports/vtk/portfile.cmake
+++ b/ports/vtk/portfile.cmake
@@ -31,6 +31,7 @@ if ("python" IN_LIST FEATURES)
else()
set(VTK_WITH_PYTHON OFF) # IMPORTANT: if ON make sure `python3` is listed as dependency in the CONTROL file
endif()
+
if("openvr" IN_LIST FEATURES)
set(VTK_WITH_OPENVR ON) # IMPORTANT: if ON make sure `OpenVR` is listed as dependency in the CONTROL file
else()
@@ -80,6 +81,7 @@ vcpkg_apply_patches(
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
@@ -133,10 +135,6 @@ if(VTK_WITH_ALL_MODULES)
)
endif()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- list(APPEND ADDITIONAL_OPTIONS "-DVTK_EXTERNAL_HDF5_IS_SHARED=ON")
-endif()
-
# =============================================================================
# Configure & Install
vcpkg_configure_cmake(
@@ -169,12 +167,6 @@ vcpkg_configure_cmake(
-DVTK_INSTALL_PACKAGE_DIR=share/vtk
-DVTK_FORBID_DOWNLOADS=ON
${ADDITIONAL_OPTIONS}
- OPTIONS_RELEASE
- -DHDF5_C_LIBRARY=${CURRENT_INSTALLED_DIR}/lib/hdf5.lib
- -DHDF5_C_HL_LIBRARY=${CURRENT_INSTALLED_DIR}/lib/hdf5_hl.lib
- OPTIONS_DEBUG
- -DHDF5_C_LIBRARY=${CURRENT_INSTALLED_DIR}/debug/lib/hdf5_D.lib
- -DHDF5_C_HL_LIBRARY=${CURRENT_INSTALLED_DIR}/debug/lib/hdf5_hl_D.lib
)
vcpkg_install_cmake()