diff --git a/scripts/cmake/Dependencies.cmake b/scripts/cmake/Dependencies.cmake index 2860138b9d24b7868ab4d4d99a285e187a04aa6a..045050fbfc0f78820993c8b6e20a1bd3114821c1 100644 --- a/scripts/cmake/Dependencies.cmake +++ b/scripts/cmake/Dependencies.cmake @@ -212,19 +212,31 @@ else() EXCLUDE_FROM_ALL YES ) if(HDF5_ADDED) - target_include_directories(hdf5-static INTERFACE ${HDF5_BINARY_DIR}) list(APPEND DISABLE_WARNINGS_TARGETS hdf5-static) set(HDF5_LIBRARIES hdf5-static) if(ZLIB_ADDED) list(APPEND HDF5_LIBRARIES zlibstatic) endif() - set(HDF5_C_INCLUDE_DIR ${HDF5_SOURCE_DIR}) - set(HDF5_INCLUDE_DIR ${HDF5_SOURCE_DIR}) + set(HDF5_C_INCLUDE_DIR ${HDF5_SOURCE_DIR}/src) + set(HDF5_INCLUDE_DIR ${HDF5_SOURCE_DIR}/src) + target_include_directories(hdf5-static INTERFACE ${HDF5_BINARY_DIR} ${HDF5_INCLUDE_DIR}) else() find_package(HDF5 REQUIRED) endif() endif() +if(OGS_USE_PETSC) + include(CheckCXXSymbolExists) + set(CMAKE_REQUIRED_INCLUDES "${HDF5_INCLUDE_DIR}" "${HDF5_BINARY_DIR}") + set(CMAKE_REQUIRED_LIBRARIES "${HDF5_LIBRARIES}") + check_cxx_symbol_exists(H5Pset_fapl_mpio hdf5.h HAVE_H5Pset_fapl_mpio) + unset(CMAKE_REQUIRED_INCLUDES) + if(NOT HAVE_H5Pset_fapl_mpio) + message(FATAL_ERROR "HDF5 was not build with MPI support! " + "(Enable with HDF5_ENABLE_PARALLEL)") + endif() +endif() + # Does not compile in Debug-mode, see #3175. if(CMAKE_BUILD_TYPE STREQUAL "Release" AND OGS_BUILD_TESTING) set(XDMF_LIBNAME OgsXdmf CACHE STRING "")