From 13f609fd7ccd5357029fecfb2b6fd1cad29082dc Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Thu, 22 Jul 2021 14:53:18 +0200 Subject: [PATCH] [cmake] Use Conan HDF5 when using NetCDF. --- scripts/cmake/ConanSetup.cmake | 2 +- scripts/cmake/Dependencies.cmake | 71 +++++++++++++++++--------------- 2 files changed, 39 insertions(+), 34 deletions(-) diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake index 23700f41b24..95b79c392ac 100644 --- a/scripts/cmake/ConanSetup.cmake +++ b/scripts/cmake/ConanSetup.cmake @@ -88,7 +88,7 @@ conan_cmake_run( OPTIONS ${CONAN_OPTIONS} BUILD ${OGS_CONAN_BUILD} IMPORTS ${CONAN_IMPORTS} - GENERATORS virtualrunenv + GENERATORS virtualrunenv cmake_find_package BUILD_TYPE ${CONAN_BUILD_TYPE} ) diff --git a/scripts/cmake/Dependencies.cmake b/scripts/cmake/Dependencies.cmake index a1a61fae4d4..c088c2fa067 100644 --- a/scripts/cmake/Dependencies.cmake +++ b/scripts/cmake/Dependencies.cmake @@ -169,44 +169,49 @@ CPMAddPackage( OPTIONS "BUILD_SHARED_LIBS OFF" ) -# ZLIB is a HDF5 dependency -CPMFindPackage( - NAME ZLIB - GITHUB_REPOSITORY madler/zlib - VERSION 1.2.11 - EXCLUDE_FROM_ALL YES -) -if(ZLIB_ADDED) - add_library(ZLIB::ZLIB ALIAS zlibstatic) -endif() - if(OGS_USE_MPI) set(_hdf5_options "HDF5_ENABLE_PARALLEL ON") endif() string(REPLACE "." "_" HDF5_TAG ${ogs.minimum_version.hdf5}) -CPMFindPackage( - NAME HDF5 - GITHUB_REPOSITORY HDFGroup/hdf5 - GIT_TAG hdf5-${HDF5_TAG} - VERSION ${ogs.minimum_version.hdf5} - OPTIONS "HDF5_EXTERNALLY_CONFIGURED 1" - "HDF5_GENERATE_HEADERS OFF" - "HDF5_BUILD_TOOLS OFF" - "HDF5_BUILD_EXAMPLES OFF" - "HDF5_BUILD_HL_LIB OFF" - "HDF5_BUILD_FORTRAN OFF" - "HDF5_BUILD_CPP_LIB OFF" - "HDF5_BUILD_JAVA OFF" - ${_hdf5_options} - 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) - set(HDF5_C_INCLUDE_DIR ${HDF5_SOURCE_DIR}) - set(HDF5_INCLUDE_DIR ${HDF5_SOURCE_DIR}) +if(OGS_USE_NETCDF) + list(APPEND CMAKE_MODULE_PATH ${PROJECT_BINARY_DIR}) + find_package(HDF5 REQUIRED) +else() + # ZLIB is a HDF5 dependency + CPMFindPackage( + NAME ZLIB + GITHUB_REPOSITORY madler/zlib + VERSION 1.2.11 + EXCLUDE_FROM_ALL YES + ) + if(ZLIB_ADDED) + add_library(ZLIB::ZLIB ALIAS zlibstatic) + endif() + + CPMFindPackage( + NAME HDF5 + GITHUB_REPOSITORY HDFGroup/hdf5 + GIT_TAG hdf5-${HDF5_TAG} + VERSION ${ogs.minimum_version.hdf5} + OPTIONS "HDF5_EXTERNALLY_CONFIGURED 1" + "HDF5_GENERATE_HEADERS OFF" + "HDF5_BUILD_TOOLS OFF" + "HDF5_BUILD_EXAMPLES OFF" + "HDF5_BUILD_HL_LIB OFF" + "HDF5_BUILD_FORTRAN OFF" + "HDF5_BUILD_CPP_LIB OFF" + "HDF5_BUILD_JAVA OFF" + ${_hdf5_options} + 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) + set(HDF5_C_INCLUDE_DIR ${HDF5_SOURCE_DIR}) + set(HDF5_INCLUDE_DIR ${HDF5_SOURCE_DIR}) + endif() endif() set(XDMF_LIBNAME OgsXdmf CACHE STRING "") -- GitLab