Skip to content
Snippets Groups Projects
Commit 62a72132 authored by guj's avatar guj
Browse files

enforce 1.11 on VDS files

parent 1ec5c478
No related branches found
No related tags found
1 merge request!278added VDS support via Engine (HDF5Mixer)
......@@ -67,16 +67,18 @@ if(ADIOS2_HAVE_MPI)
adios2 MPI::MPI_C ${CMAKE_THREAD_LIBS_INIT}
)
add_executable(heatTransfer_write_h5mixer
main.cpp
HeatTransfer.cpp
Settings.cpp
IO_h5mixer.cpp
)
if(HDF5_VERSION VERSION_GREATER_EQUAL 1.11)
add_executable(heatTransfer_write_h5mixer
main.cpp
HeatTransfer.cpp
Settings.cpp
IO_h5mixer.cpp
)
target_link_libraries(heatTransfer_write_h5mixer
adios2 MPI::MPI_C ${CMAKE_THREAD_LIBS_INIT}
)
endif()
target_link_libraries(heatTransfer_write_h5mixer
adios2 MPI::MPI_C ${CMAKE_THREAD_LIBS_INIT}
)
endif()
endif()
......@@ -114,14 +114,24 @@ if(ADIOS2_HAVE_HDF5)
else()
target_include_directories(adios2 PRIVATE ${HDF5_INCLUDE_DIRS})
endif()
target_sources(adios2 PRIVATE
engine/hdf5/HDF5ReaderP.cpp
engine/hdf5/HDF5WriterP.cpp
engine/mixer/HDFMixer.cpp
engine/mixer/HDFMixer.tcc
engine/mixer/HDFMixerWriter.cpp
toolkit/interop/hdf5/HDF5Common.cpp toolkit/interop/hdf5/HDF5Common.tcc
)
if(HDF5_VERSION VERSION_LESS 1.11)
target_sources(adios2 PRIVATE
engine/hdf5/HDF5ReaderP.cpp
engine/hdf5/HDF5WriterP.cpp
toolkit/interop/hdf5/HDF5Common.cpp toolkit/interop/hdf5/HDF5Common.tcc
)
else()
target_sources(adios2 PRIVATE
engine/hdf5/HDF5ReaderP.cpp
engine/hdf5/HDF5WriterP.cpp
engine/mixer/HDFMixer.cpp
engine/mixer/HDFMixer.tcc
engine/mixer/HDFMixerWriter.cpp
toolkit/interop/hdf5/HDF5Common.cpp toolkit/interop/hdf5/HDF5Common.tcc
)
endif()
target_link_libraries(adios2 PRIVATE ${HDF5_C_LIBRARIES})
endif()
......
......@@ -29,8 +29,10 @@
#ifdef ADIOS2_HAVE_HDF5 // external dependencies
#include "adios2/engine/hdf5/HDF5ReaderP.h"
#include "adios2/engine/hdf5/HDF5WriterP.h"
#if H5_VERSION_GE(1, 11, 0)
#include "adios2/engine/mixer/HDFMixer.h"
#endif
#endif
namespace adios2
{
......@@ -233,7 +235,12 @@ std::shared_ptr<Engine> IO::Open(const std::string &name,
else if (m_EngineType == "HDFMixer")
{
#ifdef ADIOS2_HAVE_HDF5
#if H5_VERSION_GE(1, 11, 0)
engine = std::make_shared<HDFMixer>(*this, name, openMode, mpiComm);
#else
throw std::invalid_argument(
"ERROR: update HDF5 >= 1.11 to support VDS.");
#endif
#else
throw std::invalid_argument("ERROR: this version didn't compile with "
"HDF5 library, can't use HDF5\n");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment