diff --git a/MeshLib/CMakeLists.txt b/MeshLib/CMakeLists.txt
index 69d1cc9aa16a7c8b43aa5ff8f0f0ecb7ec66cf85..fb45ea034db38dfbf978577c9851f8efcce5de74 100644
--- a/MeshLib/CMakeLists.txt
+++ b/MeshLib/CMakeLists.txt
@@ -13,14 +13,13 @@ append_source_files(SOURCES IO)
 append_source_files(SOURCES IO/Legacy)
 append_source_files(SOURCES IO/VtkIO)
 append_source_files(SOURCES Utils)
-if(OGS_USE_XDMF)
-    append_source_files(SOURCES IO/XDMF)
-    if(OGS_USE_PETSC)
-        append_source_files(SOURCES IO/XDMF/mpi)
-    else()
-        append_source_files(SOURCES IO/XDMF/posix)
-    endif()
+append_source_files(SOURCES IO/XDMF)
+if(OGS_USE_PETSC)
+    append_source_files(SOURCES IO/XDMF/mpi)
+else()
+    append_source_files(SOURCES IO/XDMF/posix)
 endif()
+
 append_source_files(SOURCES MeshQuality)
 append_source_files(SOURCES Vtk)
 
diff --git a/MeshLib/IO/writeMeshToFile.cpp b/MeshLib/IO/writeMeshToFile.cpp
index 53fab4f321c20a96ec59c122535a573a1e2a8583..34af711a71166304c0ca847a24225de75d16d2a9 100644
--- a/MeshLib/IO/writeMeshToFile.cpp
+++ b/MeshLib/IO/writeMeshToFile.cpp
@@ -14,9 +14,7 @@
 #include "BaseLib/StringTools.h"
 #include "MeshLib/IO/Legacy/MeshIO.h"
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
-#ifdef OGS_USE_XDMF
 #include "MeshLib/IO/XDMF/XdmfHdfWriter.h"
-#endif
 #include "MeshLib/Mesh.h"
 
 namespace MeshLib::IO
@@ -45,16 +43,15 @@ int writeMeshToFile(const MeshLib::Mesh& mesh,
         }
         return 0;
     }
-#ifdef OGS_USE_XDMF
     if (file_path.extension().string() == ".xdmf")
     {
         MeshLib::IO::XdmfHdfWriter(mesh, file_path, 0, 0.0,
                                    variable_output_names, true);
         return 0;
     }
-#endif
-    ERR("writeMeshToFile(): Unknown mesh file format in file {:s}.",
-        file_path.string());
-    return -1;
+    ERR("writeMeshToFile(): Unknown file extension '{:s}'. Can not write file "
+        "'{'s}'.",
+        file_path.extension().string(), file_path.string());
+    return 0;
 }
 }  // namespace MeshLib::IO
diff --git a/ProcessLib/Output/Output.cpp b/ProcessLib/Output/Output.cpp
index cc2ac5b9ec4d19b3ec811b76c2189c13ebacfc0a..ac19f66c399511cbe1a2267416f77325eb0d06d7 100644
--- a/ProcessLib/Output/Output.cpp
+++ b/ProcessLib/Output/Output.cpp
@@ -232,7 +232,6 @@ struct Output::OutputFile
     }
 };
 
-#ifdef OGS_USE_XDMF
 void Output::outputMeshXdmf(OutputFile const& output_file,
                             MeshLib::Mesh const& mesh,
                             int const timestep,
@@ -250,7 +249,7 @@ void Output::outputMeshXdmf(OutputFile const& output_file,
     }
     _mesh_xdmf_hdf_writer->writeStep(timestep, t);
 }
-#endif
+
 
 void Output::outputMesh(OutputFile const& output_file,
                         MeshLib::IO::PVDFile* const pvd_file,
@@ -320,7 +319,7 @@ void Output::doOutputAlways(Process const& process,
         }
         else if (_output_file_type == ProcessLib::OutputType::xdmf)
         {
-#ifdef OGS_USE_XDMF
+
             OutputFile const file(
                 _output_directory, _output_file_type, _output_file_prefix, "",
                 mesh.getName(), timestep, t, iteration, _output_file_data_mode,
@@ -328,11 +327,9 @@ void Output::doOutputAlways(Process const& process,
                 _output_data_specification.output_variables);
 
             outputMeshXdmf(file, mesh, timestep, t);
-#else
-            OGS_FATAL(
-                "Trying to write Xdmf file but OGS was not built with "
-                "Xdmf-support.");
-#endif
+
+
+
         }
     };
 
diff --git a/ProcessLib/Output/Output.h b/ProcessLib/Output/Output.h
index 057ce57f0a44e38fab3830f7b7903b9e27f5db93..783aed1c4b9970286afda05d5d616b322d3aef14 100644
--- a/ProcessLib/Output/Output.h
+++ b/ProcessLib/Output/Output.h
@@ -14,9 +14,7 @@
 #include <utility>
 
 #include "MeshLib/IO/VtkIO/PVDFile.h"
-#ifdef OGS_USE_XDMF
 #include "MeshLib/IO/XDMF/XdmfHdfWriter.h"
-#endif
 #include "ProcessOutput.h"
 
 namespace ProcessLib
@@ -93,17 +91,17 @@ private:
                     MeshLib::IO::PVDFile* const pvd_file,
                     MeshLib::Mesh const& mesh,
                     double const t);
-#ifdef OGS_USE_XDMF
+
     void outputMeshXdmf(OutputFile const& output_file,
                         MeshLib::Mesh const& mesh,
                         int const timestep,
                         double const t);
-#endif
+
 
 private:
-#ifdef OGS_USE_XDMF
+
     std::unique_ptr<MeshLib::IO::XdmfHdfWriter> _mesh_xdmf_hdf_writer;
-#endif
+
     std::string const _output_directory;
     OutputType const _output_file_type;
     std::string const _output_file_prefix;
diff --git a/scripts/cmake/Dependencies.cmake b/scripts/cmake/Dependencies.cmake
index 1109abb8529279fa233fccbbffa82fe6e9b0bca1..a1a61fae4d44279b5972c39cf85687c95a848302 100644
--- a/scripts/cmake/Dependencies.cmake
+++ b/scripts/cmake/Dependencies.cmake
@@ -169,85 +169,83 @@ CPMAddPackage(
     OPTIONS "BUILD_SHARED_LIBS OFF"
 )
 
-if(OGS_USE_XDMF)
-    # 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()
+# 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()
+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})
-    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})
+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"
+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}
     )
-    if(xdmf_ADDED)
-        target_include_directories(
-            OgsXdmf PUBLIC ${xdmf_SOURCE_DIR} ${xdmf_BINARY_DIR}
-        )
 
-        target_link_libraries(OgsXdmf Boost::boost ZLIB::ZLIB)
-        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 ZLIB::ZLIB)
+    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}
+    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}
         )
-        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)