diff --git a/CMakeLists.txt b/CMakeLists.txt index bbf244496dd5c2b5cba43cd19fc2f001e3e9872f..0396a1c4620a641fbd26c725875b5a2ca7ab34e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,7 +67,7 @@ endif() option(ADIOS_USE_MPI "Enable the MPI version of ADIOS" ON) if(ADIOS_USE_MPI) - # Workaround for OpenMPI forcing th elink of C++ bindings + # Workaround for OpenMPI forcing the link of C++ bindings add_definitions(-DOMPI_SKIP_MPICXX) endif() option(ADIOS_USE_BZip2 "Enable support for BZip2 transforms" ON) @@ -117,7 +117,8 @@ endif() #------------------------------------------------------------------------------# message("") message("ADIOS2 build configuration:") -message(" C++ Compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} ${CMAKE_CXX_COMPILER_WRAPPER}") +message(" ADIOS Version: ${ADIOS_VERSION}") +message(" C++ Compiler : ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} ${CMAKE_CXX_COMPILER_WRAPPER}") message(" ${CMAKE_CXX_COMPILER}") message("") message(" Installation prefix: ${CMAKE_INSTALL_PREFIX}") diff --git a/include/ADIOS_CPP.h b/include/ADIOS_CPP.h index 5998ff78e1d2c6559608283e8e976e6f62b35533..a5a174bfdc2469b49a8b656a58d12074ae1ade3e 100644 --- a/include/ADIOS_CPP.h +++ b/include/ADIOS_CPP.h @@ -20,11 +20,13 @@ #include "engine/bp/BPFileWriter.h" // Will allow to create engines directly (no polymorphism) -#ifdef HAVE_DATAMAN +#ifdef ADIOS_HAVE_DATAMAN #include "engine/dataman/DataManReader.h" #include "engine/dataman/DataManWriter.h" #endif +#ifdef ADIOS_HAVE_BZIP2 #include "transform/BZip2.h" +#endif #endif /* ADIOS_CPP_H_ */ diff --git a/include/ADIOS_MPI.h b/include/ADIOS_MPI.h index 9948a863609301b0b96ec38357fe0d6894d860fe..1a310f04f7c3208949774a2e6994aa1b5076295f 100644 --- a/include/ADIOS_MPI.h +++ b/include/ADIOS_MPI.h @@ -6,12 +6,12 @@ #ifndef ADIOS_MPI_H_ #define ADIOS_MPI_H_ -#ifdef ADIOS_NOMPI -#include "mpidummy.h" -#else +#ifdef ADIOS_HAVE_MPI #define OMPI_SKIP_MPICXX 1 // workaround for OpenMPI forcing C++ bindings #include <mpi.h> #undef OMPI_SKIP_MPICXX +#else +#include "mpidummy.h" #endif #endif /* ADIOS_MPI_H_ */ diff --git a/include/engine/adios1/ADIOS1Writer.h b/include/engine/adios1/ADIOS1Writer.h index 8f41ed432d566e370110775b13e90c051f51a531..a8c114b28121aa9d23d3c179a2ddf70caae723cc 100644 --- a/include/engine/adios1/ADIOS1Writer.h +++ b/include/engine/adios1/ADIOS1Writer.h @@ -19,9 +19,12 @@ namespace adios { #ifdef ADIOS_NOMPI -#define _NOMPI 1 +#define _NOMPI #endif #include "adios.h" // this is adios 1.x header file +#ifdef ADIOS_NOMPI +#undef _NOMPI +#endif class ADIOS1Writer : public Engine { diff --git a/include/transform/BZip2.h b/include/transform/BZip2.h index 0735ae2c711eec9d6774da0066192108567728e4..57f7cf25d95aec06dbf8e91b21c6df518fc481ae 100644 --- a/include/transform/BZip2.h +++ b/include/transform/BZip2.h @@ -18,7 +18,7 @@ namespace adios namespace transform { -class BZIP2 : public Transform +class BZip2 : public Transform { public: @@ -27,9 +27,9 @@ public: * @param compressionLevel * @param variable */ - BZIP2(); + BZip2(); - ~BZIP2(); + virtual ~BZip2() = default; void Compress(const std::vector<char> &bufferIn, std::vector<char> &bufferOut); diff --git a/source/ADIOS.cpp b/source/ADIOS.cpp index 0f26439d810c1a641dde3d89cf58d7cc1ea92b91..26718ac35e7e7a4cbbd2d5d875420c87cd7ec469 100644 --- a/source/ADIOS.cpp +++ b/source/ADIOS.cpp @@ -24,12 +24,12 @@ #include "engine/bp/BPFileReader.h" #include "engine/bp/BPFileWriter.h" -#ifdef HAVE_DATAMAN // external dependencies +#ifdef ADIOS_HAVE_DATAMAN // external dependencies #include "engine/dataman/DataManReader.h" #include "engine/dataman/DataManWriter.h" #endif -#ifdef HAVE_ADIOS1 // external dependencies +#ifdef ADIOS_HAVE_ADIOS1 // external dependencies #include "engine/adios1/ADIOS1Reader.h" #include "engine/adios1/ADIOS1Writer.h" #endif @@ -151,7 +151,7 @@ std::shared_ptr<Engine> ADIOS::Open(const std::string &name, } else if (type == "DataManWriter") { -#ifdef HAVE_DATAMAN +#ifdef ADIOS_HAVE_DATAMAN return std::make_shared<DataManWriter>(*this, name, accessMode, mpiComm, method, iomode, timeout_sec, m_DebugMode, method.m_nThreads); @@ -163,7 +163,7 @@ std::shared_ptr<Engine> ADIOS::Open(const std::string &name, } else if (type == "DataManReader") { -#ifdef HAVE_DATAMAN +#ifdef ADIOS_HAVE_DATAMAN return std::make_shared<DataManReader>(*this, name, accessMode, mpiComm, method, iomode, timeout_sec, m_DebugMode, method.m_nThreads); @@ -175,7 +175,7 @@ std::shared_ptr<Engine> ADIOS::Open(const std::string &name, } else if (type == "ADIOS1Writer") { -#ifdef HAVE_ADIOS1 +#ifdef ADIOS_HAVE_ADIOS1 return std::make_shared<ADIOS1Writer>(*this, name, accessMode, mpiComm, method, iomode, timeout_sec, m_DebugMode, method.m_nThreads); diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 1b47d0fa6fe614d2ca6e0c136ddd149cd822819c..aa8debffd5447aaf78a559058ce56fc41e36c2c4 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -35,10 +35,10 @@ target_include_directories(adios2 PUBLIC ${ADIOS_SOURCE_DIR}/include) if(ADIOS_USE_MPI) find_package(MPI COMPONENTS C REQUIRED) target_include_directories(adios2 PUBLIC ${MPI_C_INCLUDE_PATH}) + target_compile_definitions(adios2 PUBLIC ADIOS_HAVE_MPI) target_link_libraries(adios2 PUBLIC ${MPI_C_LIBRARIES}) else() target_sources(adios2 PRIVATE mpidummy.cpp) - target_compile_definitions(adios2 PUBLIC ADIOS_NOMPI) endif() if(ADIOS_USE_ADIOS1) @@ -47,7 +47,7 @@ if(ADIOS_USE_ADIOS1) engine/adios1/ADIOS1Reader.cpp engine/adios1/ADIOS1Writer.cpp ) - target_compile_definitions(adios2 PRIVATE HAS_ADIOS1) + target_compile_definitions(adios2 PRIVATE ADIOS_HAVE_ADIOS1) target_link_libraries(adios2 PRIVATE adios::adios) endif() @@ -58,13 +58,13 @@ if(ADIOS_USE_DataMan) engine/dataman/DataManWriter.cpp transport/wan/MdtmMan.cpp ) - target_compile_definitions(adios2 PRIVATE HAS_DATAMAN) + target_compile_definitions(adios2 PRIVATE ADIOS_HAVE_DATAMAN) target_link_libraries(adios2 PRIVATE DataMan::DataMan) endif() if(ADIOS_USE_BZip2) find_package(BZip2 REQUIRED) target_sources(adios2 PRIVATE transform/BZip2.cpp) - target_compile_definitions(adios2 PRIVATE HAS_BZIP2) + target_compile_definitions(adios2 PRIVATE ADIOS_HAVE_BZIP2) target_link_libraries(adios2 PRIVATE BZip2::BZip2) endif() diff --git a/source/functions/adiosFunctions.cpp b/source/functions/adiosFunctions.cpp index 0946dc0d6efa6d79860a595f0ff0be85ad84d8f4..f2d703b5b09c82f8f3775669ebdf8952d90e1d51 100644 --- a/source/functions/adiosFunctions.cpp +++ b/source/functions/adiosFunctions.cpp @@ -26,8 +26,8 @@ #include "core/Support.h" #include "functions/adiosFunctions.h" -#ifdef HAVE_BZIP2 -#include "transform/BZIP2.h" +#ifdef ADIOS_HAVE_BZIP2 +#include "transform/BZip2.h" #endif namespace adios @@ -539,8 +539,9 @@ void SetTransformsHelper(const std::vector<std::string> &transformNames, { if (transformMethod == "bzip2") { -#ifdef HAVE_BZIP2 - transforms.push_back(std::make_shared<CBZIP2>()); +#ifdef ADIOS_HAVE_BZIP2 + transforms.push_back( + std::make_shared<adios::transform::BZip2>()); #endif } diff --git a/source/transform/BZip2.cpp b/source/transform/BZip2.cpp index c267af7540249968dd42d9e9bb210b2917661150..d01bea9f825d4d854a34479c1897cb068f8012a2 100644 --- a/source/transform/BZip2.cpp +++ b/source/transform/BZip2.cpp @@ -15,16 +15,14 @@ namespace adios namespace transform { -BZIP2::BZIP2() : Transform("bzip2") {} +BZip2::BZip2() : Transform("bzip2") {} -BZIP2::~BZIP2() = default; - -void BZIP2::Compress(const std::vector<char> & /*bufferIn*/, +void BZip2::Compress(const std::vector<char> & /*bufferIn*/, std::vector<char> & /*bufferOut*/) { } -void BZIP2::Decompress(const std::vector<char> & /*bufferIn*/, +void BZip2::Decompress(const std::vector<char> & /*bufferIn*/, std::vector<char> & /*bufferOut*/) { }