Skip to content
Snippets Groups Projects
Commit 0e663c18 authored by Atkins, Charles Vernon's avatar Atkins, Charles Vernon Committed by GitHub
Browse files

Merge pull request #33 from chuckatkins/fix-has_have-feature-macros

Fix -DHAVE_FEATURENAME macros to actually work
parents 492da96d aef7b06b
No related branches found
No related tags found
No related merge requests found
......@@ -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}")
......
......@@ -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_ */
......@@ -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_ */
......@@ -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
{
......
......@@ -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);
......
......@@ -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);
......
......@@ -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()
......@@ -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
}
......
......@@ -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*/)
{
}
......
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