diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26b83698bd052b2073a2bccc3b05827855a13e2f..082596090c26bb7d3205054ee6b459e31adbc90e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -194,7 +194,7 @@ include(packaging/Pack)
 # ---- Subdirectories ----
 include_directories(${PROJECT_SOURCE_DIR})
 # xdmfdiff
-if(OGS_BUILD_TESTING)
+if(OGS_BUILD_TESTING AND TARGET OgsXdmf)
     add_subdirectory(Tests/xdmfdiff)
 endif()
 
diff --git a/MeshLib/CMakeLists.txt b/MeshLib/CMakeLists.txt
index fce297b5f462b5d09964b3547cdfa2ed818a8974..7e6d372f7aefd4969a4f4e8d60da6e6855159ae2 100644
--- a/MeshLib/CMakeLists.txt
+++ b/MeshLib/CMakeLists.txt
@@ -36,9 +36,9 @@ target_link_libraries(
     PUBLIC BaseLib
            GeoLib
            GitInfoLib
+           ${HDF5_LIBRARIES}
            MathLib
            ${VTK_LIBRARIES}
-           $<$<TARGET_EXISTS:OgsXdmf>:OgsXdmf>
            $<$<TARGET_EXISTS:MPI::MPI_CXX>:MPI::MPI_CXX>
            $<$<TARGET_EXISTS:petsc>:petsc>
 )
diff --git a/scripts/cmake/Dependencies.cmake b/scripts/cmake/Dependencies.cmake
index 63d40dbb52320736449f91b5e19f61f5a39554e0..e6fa6bc6a13b95cd8c46741f0fad28e3758756b0 100644
--- a/scripts/cmake/Dependencies.cmake
+++ b/scripts/cmake/Dependencies.cmake
@@ -211,46 +211,52 @@ else()
         endif()
         set(HDF5_C_INCLUDE_DIR ${HDF5_SOURCE_DIR})
         set(HDF5_INCLUDE_DIR ${HDF5_SOURCE_DIR})
+    else()
+        find_package(HDF5 REQUIRED)
     endif()
 endif()
 
-set(XDMF_LIBNAME OgsXdmf CACHE STRING "")
-CPMAddPackage(
-    NAME xdmf
-    VERSION 3.0.0
-    GIT_REPOSITORY https://gitlab.opengeosys.org/ogs/xdmflib.git
-    GIT_TAG 8d5ae1e1cbf506b8ca2160745fc914e25690c8a4
-    OPTIONS "XDMF_LIBNAME OgsXdmf"
-)
-if(xdmf_ADDED)
-    target_include_directories(
-        OgsXdmf PUBLIC ${xdmf_SOURCE_DIR} ${xdmf_BINARY_DIR}
+# Does not compile in Debug-mode, see #3175.
+if(CMAKE_BUILD_TYPE STREQUAL "Release")
+    set(XDMF_LIBNAME OgsXdmf CACHE STRING "")
+    CPMAddPackage(
+        NAME xdmf
+        VERSION 3.0.0
+        GIT_REPOSITORY https://gitlab.opengeosys.org/ogs/xdmflib.git
+        GIT_TAG 8d5ae1e1cbf506b8ca2160745fc914e25690c8a4
+        OPTIONS "XDMF_LIBNAME OgsXdmf"
+        EXCLUDE_FROM_ALL YES
     )
+    if(xdmf_ADDED)
+        target_include_directories(
+            OgsXdmf PUBLIC ${xdmf_SOURCE_DIR} ${xdmf_BINARY_DIR}
+        )
 
-    target_link_libraries(OgsXdmf Boost::boost)
-    target_include_directories(
-        OgsXdmfCore PUBLIC ${xdmf_SOURCE_DIR}/core ${xdmf_BINARY_DIR}/core
-        PRIVATE ${xdmf_SOURCE_DIR}/CMake/VersionSuite
-    )
-    target_link_libraries(
-        OgsXdmfCore PUBLIC Boost::boost LibXml2::LibXml2 ${HDF5_LIBRARIES}
-    )
+        target_link_libraries(OgsXdmf Boost::boost)
+        target_include_directories(
+            OgsXdmfCore PUBLIC ${xdmf_SOURCE_DIR}/core ${xdmf_BINARY_DIR}/core
+            PRIVATE ${xdmf_SOURCE_DIR}/CMake/VersionSuite
+        )
+        target_link_libraries(
+            OgsXdmfCore PUBLIC Boost::boost LibXml2::LibXml2 ${HDF5_LIBRARIES}
+        )
 
-    set_target_properties(
-        OgsXdmf OgsXdmfCore
-        PROPERTIES RUNTIME_OUTPUT_DIRECTORY
-                   ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}
-                   LIBRARY_OUTPUT_DIRECTORY
-                   ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
-                   ARCHIVE_OUTPUT_DIRECTORY
-                   ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
-    )
-    if(BUILD_SHARED_LIBS)
-        install(TARGETS OgsXdmf OgsXdmfCore
-                LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        set_target_properties(
+            OgsXdmf OgsXdmfCore
+            PROPERTIES RUNTIME_OUTPUT_DIRECTORY
+                       ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}
+                       LIBRARY_OUTPUT_DIRECTORY
+                       ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
+                       ARCHIVE_OUTPUT_DIRECTORY
+                       ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
         )
+        if(BUILD_SHARED_LIBS)
+            install(TARGETS OgsXdmf OgsXdmfCore
+                    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+            )
+        endif()
+        list(APPEND DISABLE_WARNINGS_TARGETS OgsXdmf OgsXdmfCore)
     endif()
-    list(APPEND DISABLE_WARNINGS_TARGETS OgsXdmf OgsXdmfCore)
 endif()
 
 if(OGS_BUILD_SWMM)