2
0

fix-find-hdf5.patch 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. diff --git a/CMakeLists.txt b/CMakeLists.txt
  2. index c50784b3..dd97d117 100644
  3. --- a/CMakeLists.txt
  4. +++ b/CMakeLists.txt
  5. @@ -171,11 +171,6 @@ install(FILES
  6. DESTINATION ${CMAKE_INSTALL_PACKAGEDIR}
  7. COMPONENT development)
  8. -install(FILES
  9. - cmake/FindHDF5.cmake
  10. - DESTINATION ${CMAKE_INSTALL_PACKAGEDIR}/hdf5
  11. - COMPONENT development)
  12. -
  13. #
  14. # uninstall target
  15. #
  16. diff --git a/cmake/HDF5LibraryConfig.cmake b/cmake/HDF5LibraryConfig.cmake
  17. index c05fe75f..7461f5ea 100644
  18. --- a/cmake/HDF5LibraryConfig.cmake
  19. +++ b/cmake/HDF5LibraryConfig.cmake
  20. @@ -2,22 +2,24 @@ if(H5CPP_WITH_MPI)
  21. set(HDF5_PREFER_PARALLEL TRUE)
  22. endif()
  23. -find_package(HDF5 REQUIRED COMPONENTS C HL)
  24. +find_package(HDF5 CONFIG REQUIRED COMPONENTS C HL)
  25. +if(H5CPP_BUILD_SHARED)
  26. + set(libtype SHARED)
  27. +else()
  28. + set(libtype STATIC)
  29. +endif()
  30. message(STATUS "==============================================================")
  31. message(STATUS "========================Found HDF5============================")
  32. message(STATUS "==============================================================")
  33. -message(STATUS "Found HDF5 libraries in: ${HDF5_LIBRARY_DIRS}")
  34. -message(STATUS "Found HDF5 libraries: ${HDF5_LIBRARIES}")
  35. -message(STATUS "Found HDF5 HL libraries: ${HDF5_HL_LIBRARIES}")
  36. -message(STATUS "Found HDF5 headers: ${HDF5_INCLUDE_DIRS}")
  37. -message(STATUS "Found HDF5 definitions: ${HDF5_DEFINITIONS}")
  38. +message(STATUS "Found HDF5 libraries: ${HDF5_EXPORT_LIBRARIES}")
  39. +message(STATUS "Found HDF5 headers: ${HDF5_INCLUDE_DIR}")
  40. message(STATUS "Found HDF5 HDF5_VERSION = ${HDF5_VERSION}")
  41. -message(STATUS "Found HDF5 HDF5_IS_PARALLEL = ${HDF5_IS_PARALLEL}")
  42. +message(STATUS "Found HDF5 HDF5_ENABLE_PARALLEL = ${HDF5_ENABLE_PARALLEL}")
  43. message(STATUS "==============================================================")
  44. if(H5CPP_WITH_MPI)
  45. - if(NOT HDF5_IS_PARALLEL)
  46. + if(NOT HDF5_ENABLE_PARALLEL)
  47. message(FATAL_ERROR "The HDF5 version found does not support MPI")
  48. endif()
  49. endif()
  50. diff --git a/src/h5cpp/CMakeLists.txt b/src/h5cpp/CMakeLists.txt
  51. index 03a98885..0c8cd9de 100644
  52. --- a/src/h5cpp/CMakeLists.txt
  53. +++ b/src/h5cpp/CMakeLists.txt
  54. @@ -39,6 +39,9 @@ add_doxygen_source_deps(${h5cpp_headers})
  55. if (H5CPP_BUILD_SHARED)
  56. target_compile_definitions(h5cpp PRIVATE H5CPP_EXPORTS PUBLIC H5CPP_BUILD_SHARED)
  57. + set(_suffix "shared")
  58. +else()
  59. + set(_suffix "static")
  60. endif()
  61. set(H5CPP_LINKS ${MPI_CXX_LIBRARIES})
  62. @@ -86,9 +89,9 @@ endif()
  63. target_link_libraries(h5cpp
  64. PUBLIC
  65. ${H5CPP_LINKS}
  66. - hdf5::hdf5
  67. + "hdf5::hdf5-${_suffix}"
  68. PRIVATE ${COVERAGE_LIBRARIES}
  69. - hdf5::hdf5_hl
  70. + "hdf5::hdf5_hl-${_suffix}"
  71. Threads::Threads
  72. ${H5CPP_FILTER_TARGETS}
  73. ${CMAKE_DL_LIBS}