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*/)
 {
 }