Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vtk] fix static hdf5 linkage. #6782

Merged
merged 1 commit into from
Jun 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ports/vtk/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: vtk
Version: 8.2.0-2
Version: 8.2.0-4
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), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c

Expand Down
22 changes: 22 additions & 0 deletions ports/vtk/hdf5_static.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
diff --git a/CMake/FindHDF5.cmake b/CMake/FindHDF5.cmake
index 6d558e39..c301e165 100644
--- a/CMake/FindHDF5.cmake
+++ b/CMake/FindHDF5.cmake
@@ -8,7 +8,16 @@ if(CMAKE_VERSION VERSION_LESS 3.6.1)
else()
include(${CMAKE_ROOT}/Modules/FindHDF5.cmake)
endif()
-
+#It would be better if VTK would actually use HDF5 & SZIP targets.
+#But current module load order is wrong which will lead to the target being used before it is defined!
+if("${HDF5_LIBRARIES}" MATCHES "libhdf5")
+ find_library(SZIP_LIBRARY_RELEASE NAMES sz libsz szip libszip NAMES_PER_DIR)
+ find_library(SZIP_LIBRARY_DEBUG NAMES sz_d libsz_d szip_d libszip_d NAMES_PER_DIR)
+ select_library_configurations(SZIP)
+ list(APPEND HDF5_LIBRARIES "${SZIP_LIBRARIES}")
+ find_package(ZLIB)
+ list(APPEND HDF5_LIBRARIES "${ZLIB_LIBRARIES}")
+endif()
if(HDF5_FOUND AND (HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL))
include(vtkMPI)
if(MPI_C_INCLUDE_PATH)
2 changes: 2 additions & 0 deletions ports/vtk/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ vcpkg_from_github(
fix-find-lz4.patch
fix_ogg_linkage.patch
fix-pugixml-link.patch
hdf5_static.patch
)

# Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK,
Expand All @@ -57,6 +58,7 @@ vcpkg_from_github(
# so we provide an own one.
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)

# =============================================================================
Expand Down