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)