aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/flann/fix-dependency-hdf5.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/flann/fix-dependency-hdf5.patch')
-rw-r--r--vcpkg/ports/flann/fix-dependency-hdf5.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/vcpkg/ports/flann/fix-dependency-hdf5.patch b/vcpkg/ports/flann/fix-dependency-hdf5.patch
new file mode 100644
index 0000000..1d5e6ee
--- /dev/null
+++ b/vcpkg/ports/flann/fix-dependency-hdf5.patch
@@ -0,0 +1,56 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9f1dbcb74..5587c896e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -77,11 +77,19 @@ if (NOT PYTHON_EXECUTABLE)
+ endif()
+ endif()
+
+-find_hdf5()
++if (WITH_HDF5)
++find_package(HDF5 CONFIG REQUIRED)
+ if (NOT HDF5_FOUND)
+- message(WARNING "hdf5 library not found, some tests will not be run")
++ message(ERROR "hdf5 library not found")
+ else()
+- include_directories(${HDF5_INCLUDE_DIR})
++ if (TARGET hdf5::hdf5-shared)
++ link_libraries(hdf5::hdf5-shared)
++ elseif (TARGET hdf5::hdf5-static)
++ link_libraries(hdf5::hdf5-static)
++ endif()
++ set(PKG_EXTERNAL_DEPS "${PKG_EXTERNAL_DEPS} hdf5")
++ set(CMAKE_EXTERNAL_DEPS "find_dependency(HDF5)")
++endif()
+ endif()
+
+ if (USE_MPI OR HDF5_IS_PARALLEL)
+
+diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake
+index 8aef8e0..747414f 100644
+--- a/cmake/flann_utils.cmake
++++ b/cmake/flann_utils.cmake
+@@ -21,21 +21,8 @@ endmacro(DISSECT_VERSION)
+
+ # workaround a FindHDF5 bug
+ macro(find_hdf5)
+- find_package(HDF5)
+-
+- set( HDF5_IS_PARALLEL FALSE )
+- foreach( _dir ${HDF5_INCLUDE_DIRS} )
+- if( EXISTS "${_dir}/H5pubconf.h" )
+- file( STRINGS "${_dir}/H5pubconf.h"
+- HDF5_HAVE_PARALLEL_DEFINE
+- REGEX "HAVE_PARALLEL 1" )
+- if( HDF5_HAVE_PARALLEL_DEFINE )
+- set( HDF5_IS_PARALLEL TRUE )
+- endif()
+- endif()
+- endforeach()
+- set( HDF5_IS_PARALLEL ${HDF5_IS_PARALLEL} CACHE BOOL
+- "HDF5 library compiled with parallel IO support" )
++ find_package(hdf5 CONFIG)
++ set(HDF5_IS_PARALLEL ${HDF5_ENABLE_PARALLEL})
+ mark_as_advanced( HDF5_IS_PARALLEL )
+ endmacro(find_hdf5)
+