From 393b525ba0dc4f882108b416a4253436cf48a3eb Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Wed, 15 Jan 2020 10:08:43 +0100
Subject: [PATCH] [Conan] Fixed hdf5 linking errors on MSVC 2019.

---
 Applications/DataExplorer/NetCdfDialog/CMakeLists.txt | 3 +++
 Applications/Utils/FileConverter/CMakeLists.txt       | 3 +++
 scripts/cmake/Find.cmake                              | 8 +++++++-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/Applications/DataExplorer/NetCdfDialog/CMakeLists.txt b/Applications/DataExplorer/NetCdfDialog/CMakeLists.txt
index a473593e20f..b932c64fef1 100644
--- a/Applications/DataExplorer/NetCdfDialog/CMakeLists.txt
+++ b/Applications/DataExplorer/NetCdfDialog/CMakeLists.txt
@@ -10,6 +10,9 @@ target_link_libraries(NetCdfDialogLib
                              ${HDF5_HL_LIBRARIES}
                              ${HDF5_LIBRARIES}
                       PRIVATE MathLib)
+if(OGS_USE_CONAN AND MSVC)
+    target_link_libraries(NetCdfDialogLib PUBLIC ${CONAN_LIBS})
+endif()
 set_property(TARGET NetCdfDialogLib PROPERTY FOLDER "DataExplorer")
 
 # Workaround for system installed VTK (tested on arch)
diff --git a/Applications/Utils/FileConverter/CMakeLists.txt b/Applications/Utils/FileConverter/CMakeLists.txt
index 28882437a08..4d5aec825fb 100644
--- a/Applications/Utils/FileConverter/CMakeLists.txt
+++ b/Applications/Utils/FileConverter/CMakeLists.txt
@@ -47,4 +47,7 @@ if(TARGET NetCdfConverter)
                           ${NETCDF_LIBRARIES_C}
                           ${HDF5_HL_LIBRARIES}
                           ${HDF5_LIBRARIES})
+    if(OGS_USE_CONAN AND MSVC)
+        target_link_libraries(NetCdfConverter ${CONAN_LIBS})
+    endif()
 endif()
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
index 475652a1bdf..ff9508ac5fe 100644
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -110,7 +110,13 @@ if(OGS_USE_NETCDF)
     set(NETCDF_ROOT ${CONAN_NETCDF-C_ROOT})
     set(NETCDF_CXX_ROOT ${CONAN_NETCDF-CXX_ROOT})
     find_package(NetCDF REQUIRED)
-    find_package(HDF5 REQUIRED COMPONENTS C HL)
+    if(OGS_USE_CONAN AND MSVC)
+        set(HDF5_DIR ${CONAN_HDF5_ROOT}/cmake/hdf5)
+        find_package(HDF5 REQUIRED COMPONENTS C HL NO_MODULE)
+    else()
+        find_package(HDF5 REQUIRED COMPONENTS C HL)
+    endif()
+
 endif()
 
 # lapack
-- 
GitLab