From 293d14ed82e24e7e6a7f42187d934d26a73c6e8a Mon Sep 17 00:00:00 2001
From: Chuck Atkins <chuck.atkins@kitware.com>
Date: Wed, 19 Apr 2017 13:33:56 -0400
Subject: [PATCH] Split dataman out of ADIOS

---
 CMakeLists.txt                                |   4 +
 cmake/GenerateADIOSConfig.cmake               |  42 ++----
 source/CMakeLists.txt                         | 128 +-----------------
 source/adios2.h                               |  16 +++
 source/adios2.h.in                            |  16 ---
 source/{ => adios2}/ADIOS.cpp                 |   0
 source/{ => adios2}/ADIOS.h                   |   0
 source/{ => adios2}/ADIOS.inl                 |   0
 source/{ => adios2}/ADIOS.tcc                 |   0
 source/adios2/ADIOSConfig.h.in                |  18 +++
 source/{ => adios2}/ADIOSMacros.h             |   0
 source/{ => adios2}/ADIOSTypes.h              |   0
 source/{ => adios2}/ADIOS_MPI.h               |   0
 source/adios2/CMakeLists.txt                  | 120 ++++++++++++++++
 .../{ => adios2}/capsule/heap/STLVector.cpp   |   0
 source/{ => adios2}/capsule/heap/STLVector.h  |   0
 .../{ => adios2}/capsule/shmem/ShmSystemV.cpp |   0
 .../{ => adios2}/capsule/shmem/ShmSystemV.h   |   0
 source/{ => adios2}/core/Attribute.h          |   0
 source/{ => adios2}/core/Capsule.cpp          |   0
 source/{ => adios2}/core/Capsule.h            |   0
 source/{ => adios2}/core/Engine.cpp           |   0
 source/{ => adios2}/core/Engine.h             |   0
 source/{ => adios2}/core/IOChrono.h           |   0
 source/{ => adios2}/core/Method.cpp           |   0
 source/{ => adios2}/core/Method.h             |   0
 source/{ => adios2}/core/Selection.h          |   0
 .../{ => adios2}/core/SelectionBoundingBox.h  |   0
 source/{ => adios2}/core/SelectionPoints.h    |   0
 source/{ => adios2}/core/Support.cpp          |   0
 source/{ => adios2}/core/Support.h            |   0
 source/{ => adios2}/core/Timer.cpp            |   0
 source/{ => adios2}/core/Timer.h              |   0
 source/{ => adios2}/core/Transform.cpp        |   0
 source/{ => adios2}/core/Transform.h          |   0
 source/{ => adios2}/core/Transport.cpp        |   0
 source/{ => adios2}/core/Transport.h          |   0
 source/{ => adios2}/core/Variable.h           |   0
 source/{ => adios2}/core/VariableBase.h       |   0
 source/{ => adios2}/core/VariableCompound.h   |   0
 source/{ => adios2}/core/adiosFunctions.cpp   |   0
 source/{ => adios2}/core/adiosFunctions.h     |   0
 source/{ => adios2}/core/adiosTemplates.h     |   0
 source/{ => adios2}/core/capsuleTemplates.h   |   0
 .../engine/adios1/ADIOS1Reader.cpp            |   0
 .../{ => adios2}/engine/adios1/ADIOS1Reader.h |   0
 .../engine/adios1/ADIOS1Writer.cpp            |   0
 .../{ => adios2}/engine/adios1/ADIOS1Writer.h |   0
 .../{ => adios2}/engine/bp/BPFileReader.cpp   |   0
 source/{ => adios2}/engine/bp/BPFileReader.h  |   0
 .../{ => adios2}/engine/bp/BPFileWriter.cpp   |   0
 source/{ => adios2}/engine/bp/BPFileWriter.h  |   0
 .../engine/dataman/DataManReader.cpp          |   0
 .../engine/dataman/DataManReader.h            |   0
 .../engine/dataman/DataManWriter.cpp          |   0
 .../engine/dataman/DataManWriter.h            |   0
 .../{ => adios2}/engine/hdf5/HDF5ReaderP.cpp  |   0
 source/{ => adios2}/engine/hdf5/HDF5ReaderP.h |   0
 .../{ => adios2}/engine/hdf5/HDF5WriterP.cpp  |   0
 source/{ => adios2}/engine/hdf5/HDF5WriterP.h |   0
 .../{ => adios2}/external/adios_selection.h   |   0
 source/{ => adios2}/mpidummy.cpp              |   0
 source/{ => adios2}/mpidummy.h                |   0
 source/{ => adios2}/transform/BZip2.cpp       |   0
 source/{ => adios2}/transform/BZip2.h         |   0
 .../{ => adios2}/transport/file/FStream.cpp   |   0
 source/{ => adios2}/transport/file/FStream.h  |   0
 .../transport/file/FileDescriptor.cpp         |   0
 .../transport/file/FileDescriptor.h           |   0
 .../transport/file/FilePointer.cpp            |   0
 .../{ => adios2}/transport/file/FilePointer.h |   0
 source/{ => adios2}/transport/file/MPI_File.h |   0
 source/{ => adios2}/transport/wan/MdtmMan.cpp |   0
 source/{ => adios2}/transport/wan/MdtmMan.h   |   0
 .../{ => adios2}/utilities/format/bp1/BP1.h   |   0
 .../utilities/format/bp1/BP1Aggregator.cpp    |   0
 .../utilities/format/bp1/BP1Aggregator.h      |   0
 .../utilities/format/bp1/BP1Base.cpp          |   0
 .../utilities/format/bp1/BP1Base.h            |   0
 .../utilities/format/bp1/BP1Structs.h         |   0
 .../utilities/format/bp1/BP1Writer.cpp        |   0
 .../utilities/format/bp1/BP1Writer.h          |   0
 .../utilities/format/bp1/BP1Writer.tcc        |   0
 source/dataman/CMakeLists.txt                 |  18 +++
 .../realtime => }/dataman/DataMan.cpp         |  10 --
 .../realtime => }/dataman/DataMan.h           |  12 +-
 .../realtime => }/dataman/DataManBase.cpp     |  10 --
 .../realtime => }/dataman/DataManBase.h       |  11 +-
 source/{external => dataman}/json.hpp         |   0
 89 files changed, 193 insertions(+), 212 deletions(-)
 create mode 100644 source/adios2.h
 delete mode 100644 source/adios2.h.in
 rename source/{ => adios2}/ADIOS.cpp (100%)
 rename source/{ => adios2}/ADIOS.h (100%)
 rename source/{ => adios2}/ADIOS.inl (100%)
 rename source/{ => adios2}/ADIOS.tcc (100%)
 create mode 100644 source/adios2/ADIOSConfig.h.in
 rename source/{ => adios2}/ADIOSMacros.h (100%)
 rename source/{ => adios2}/ADIOSTypes.h (100%)
 rename source/{ => adios2}/ADIOS_MPI.h (100%)
 create mode 100644 source/adios2/CMakeLists.txt
 rename source/{ => adios2}/capsule/heap/STLVector.cpp (100%)
 rename source/{ => adios2}/capsule/heap/STLVector.h (100%)
 rename source/{ => adios2}/capsule/shmem/ShmSystemV.cpp (100%)
 rename source/{ => adios2}/capsule/shmem/ShmSystemV.h (100%)
 rename source/{ => adios2}/core/Attribute.h (100%)
 rename source/{ => adios2}/core/Capsule.cpp (100%)
 rename source/{ => adios2}/core/Capsule.h (100%)
 rename source/{ => adios2}/core/Engine.cpp (100%)
 rename source/{ => adios2}/core/Engine.h (100%)
 rename source/{ => adios2}/core/IOChrono.h (100%)
 rename source/{ => adios2}/core/Method.cpp (100%)
 rename source/{ => adios2}/core/Method.h (100%)
 rename source/{ => adios2}/core/Selection.h (100%)
 rename source/{ => adios2}/core/SelectionBoundingBox.h (100%)
 rename source/{ => adios2}/core/SelectionPoints.h (100%)
 rename source/{ => adios2}/core/Support.cpp (100%)
 rename source/{ => adios2}/core/Support.h (100%)
 rename source/{ => adios2}/core/Timer.cpp (100%)
 rename source/{ => adios2}/core/Timer.h (100%)
 rename source/{ => adios2}/core/Transform.cpp (100%)
 rename source/{ => adios2}/core/Transform.h (100%)
 rename source/{ => adios2}/core/Transport.cpp (100%)
 rename source/{ => adios2}/core/Transport.h (100%)
 rename source/{ => adios2}/core/Variable.h (100%)
 rename source/{ => adios2}/core/VariableBase.h (100%)
 rename source/{ => adios2}/core/VariableCompound.h (100%)
 rename source/{ => adios2}/core/adiosFunctions.cpp (100%)
 rename source/{ => adios2}/core/adiosFunctions.h (100%)
 rename source/{ => adios2}/core/adiosTemplates.h (100%)
 rename source/{ => adios2}/core/capsuleTemplates.h (100%)
 rename source/{ => adios2}/engine/adios1/ADIOS1Reader.cpp (100%)
 rename source/{ => adios2}/engine/adios1/ADIOS1Reader.h (100%)
 rename source/{ => adios2}/engine/adios1/ADIOS1Writer.cpp (100%)
 rename source/{ => adios2}/engine/adios1/ADIOS1Writer.h (100%)
 rename source/{ => adios2}/engine/bp/BPFileReader.cpp (100%)
 rename source/{ => adios2}/engine/bp/BPFileReader.h (100%)
 rename source/{ => adios2}/engine/bp/BPFileWriter.cpp (100%)
 rename source/{ => adios2}/engine/bp/BPFileWriter.h (100%)
 rename source/{ => adios2}/engine/dataman/DataManReader.cpp (100%)
 rename source/{ => adios2}/engine/dataman/DataManReader.h (100%)
 rename source/{ => adios2}/engine/dataman/DataManWriter.cpp (100%)
 rename source/{ => adios2}/engine/dataman/DataManWriter.h (100%)
 rename source/{ => adios2}/engine/hdf5/HDF5ReaderP.cpp (100%)
 rename source/{ => adios2}/engine/hdf5/HDF5ReaderP.h (100%)
 rename source/{ => adios2}/engine/hdf5/HDF5WriterP.cpp (100%)
 rename source/{ => adios2}/engine/hdf5/HDF5WriterP.h (100%)
 rename source/{ => adios2}/external/adios_selection.h (100%)
 rename source/{ => adios2}/mpidummy.cpp (100%)
 rename source/{ => adios2}/mpidummy.h (100%)
 rename source/{ => adios2}/transform/BZip2.cpp (100%)
 rename source/{ => adios2}/transform/BZip2.h (100%)
 rename source/{ => adios2}/transport/file/FStream.cpp (100%)
 rename source/{ => adios2}/transport/file/FStream.h (100%)
 rename source/{ => adios2}/transport/file/FileDescriptor.cpp (100%)
 rename source/{ => adios2}/transport/file/FileDescriptor.h (100%)
 rename source/{ => adios2}/transport/file/FilePointer.cpp (100%)
 rename source/{ => adios2}/transport/file/FilePointer.h (100%)
 rename source/{ => adios2}/transport/file/MPI_File.h (100%)
 rename source/{ => adios2}/transport/wan/MdtmMan.cpp (100%)
 rename source/{ => adios2}/transport/wan/MdtmMan.h (100%)
 rename source/{ => adios2}/utilities/format/bp1/BP1.h (100%)
 rename source/{ => adios2}/utilities/format/bp1/BP1Aggregator.cpp (100%)
 rename source/{ => adios2}/utilities/format/bp1/BP1Aggregator.h (100%)
 rename source/{ => adios2}/utilities/format/bp1/BP1Base.cpp (100%)
 rename source/{ => adios2}/utilities/format/bp1/BP1Base.h (100%)
 rename source/{ => adios2}/utilities/format/bp1/BP1Structs.h (100%)
 rename source/{ => adios2}/utilities/format/bp1/BP1Writer.cpp (100%)
 rename source/{ => adios2}/utilities/format/bp1/BP1Writer.h (100%)
 rename source/{ => adios2}/utilities/format/bp1/BP1Writer.tcc (100%)
 create mode 100644 source/dataman/CMakeLists.txt
 rename source/{utilities/realtime => }/dataman/DataMan.cpp (94%)
 rename source/{utilities/realtime => }/dataman/DataMan.h (88%)
 rename source/{utilities/realtime => }/dataman/DataManBase.cpp (98%)
 rename source/{utilities/realtime => }/dataman/DataManBase.h (98%)
 rename source/{external => dataman}/json.hpp (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 842a4187b..876318ced 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -80,6 +80,10 @@ set(ADIOS_USE_DataMan ${SHARED_LIBS_SUPPORTED})
 
 include(GenerateADIOSConfig)
 GenerateADIOSConfig(MPI BZip2 ADIOS1 HDF5 DataMan)
+install(
+  FILES ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adios2
+)
 
 #------------------------------------------------------------------------------#
 # Third party libraries
diff --git a/cmake/GenerateADIOSConfig.cmake b/cmake/GenerateADIOSConfig.cmake
index 41b5b5ef6..914e235ec 100644
--- a/cmake/GenerateADIOSConfig.cmake
+++ b/cmake/GenerateADIOSConfig.cmake
@@ -4,63 +4,45 @@
 #------------------------------------------------------------------------------#
 
 function(GenerateADIOSConfig)
+  configure_file(
+    ${ADIOS_SOURCE_DIR}/source/adios2/ADIOSConfig.h.in
+    ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h
+  )
 
-  file(WRITE ${ADIOS_BINARY_DIR}/ADIOSConfig.h
-"/*
- * Distributed under the OSI-approved Apache License, Version 2.0.  See
- * accompanying file Copyright.txt for details.
- */
-
-#ifndef ADIOSCONFIG_H_
-#define ADIOSCONFIG_H_
-
-/* ADIOS Version Information */
-#define ADIOS2_VERSION_MAJOR ${ADIOS_VERSION_MAJOR}
-#define ADIOS2_VERSION_MINOR ${ADIOS_VERSION_MINOR}
-#define ADIOS2_VERSION_PATCH ${ADIOS_VERSION_PATCH}
-#define ADIOS2_VERSION       ${ADIOS_VERSION}
-" )
-
-  file(APPEND ${ADIOS_BINARY_DIR}/ADIOSConfig.h "
-/*
- * ADIOS Build Information:
- * 
- * Compiler:
-" )
   foreach(L IN ITEMS C CXX Fortran)
     if(NOT CMAKE_${L}_COMPILER)
       continue()
     endif()
-    file(APPEND ${ADIOS_BINARY_DIR}/ADIOSConfig.h
+    file(APPEND ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h
       " *   ${L}: ${CMAKE_${L}_COMPILER}\n"
     )
     if(CMAKE_${L}_COMPILER_WRAPPER)
-      file(APPEND ${ADIOS_BINARY_DIR}/ADIOSConfig.h
+      file(APPEND ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h
         " *    Wrapper: ${CMAKE_${L}_COMPILER_WRAPPER}\n"
       )
     endif()
-    file(APPEND ${ADIOS_BINARY_DIR}/ADIOSConfig.h
+    file(APPEND ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h
       " *    Id: ${CMAKE_${L}_COMPILER_ID} ${CMAKE_${L}_COMPILER_VERSION}\n"
     )
   endforeach()
-  file(APPEND ${ADIOS_BINARY_DIR}/ADIOSConfig.h " */\n")
+  file(APPEND ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h " */\n")
 
   foreach(OPT IN LISTS ARGN)
     string(TOUPPER ${OPT} OPT_UPPER)
-    file(APPEND ${ADIOS_BINARY_DIR}/ADIOSConfig.h
+    file(APPEND ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h
       "\n/* CMake Option: ADIOS_USE_${OPT}=${ADIOS_USE_${OPT}} */\n"
     )
     if(ADIOS_USE_${OPT})
-      file(APPEND ${ADIOS_BINARY_DIR}/ADIOSConfig.h
+      file(APPEND ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h
         "#define ADIOS2_HAVE_${OPT_UPPER} 1\n"
       )
     else()
-      file(APPEND ${ADIOS_BINARY_DIR}/ADIOSConfig.h
+      file(APPEND ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h
         "#undef ADIOS2_HAVE_${OPT_UPPER}\n"
       )
     endif()
   endforeach()
-  file(APPEND ${ADIOS_BINARY_DIR}/ADIOSConfig.h
+  file(APPEND ${ADIOS_BINARY_DIR}/adios2/ADIOSConfig.h
     "\n#endif /* ADIOSCONFIG_H_ */\n"
   )
 endfunction()
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index 67d28164f..45126c37b 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -3,135 +3,13 @@
 # accompanying file Copyright.txt for details.
 #------------------------------------------------------------------------------#
   
-add_library(adios2
-  ADIOS.cpp ADIOS.tcc
-  
-  capsule/heap/STLVector.cpp
-  capsule/shmem/ShmSystemV.cpp
-  
-  core/Capsule.cpp
-  core/Engine.cpp
-  core/Method.cpp
-  core/Support.cpp
-  core/Timer.cpp
-  core/Transform.cpp
-  core/Transport.cpp
-  core/adiosFunctions.cpp
-  
-  engine/bp/BPFileReader.cpp
-  engine/bp/BPFileWriter.cpp
-
-  utilities/format/bp1/BP1Base.cpp
-  utilities/format/bp1/BP1Aggregator.cpp
-  utilities/format/bp1/BP1Writer.cpp
-    
-  transport/file/FStream.cpp
-  transport/file/FileDescriptor.cpp
-  transport/file/FilePointer.cpp
-    
-  utilities/format/bp1/BP1Base.cpp
-  utilities/format/bp1/BP1Aggregator.cpp
-  utilities/format/bp1/BP1Writer.cpp
-  utilities/format/bp1/BP1Writer.tcc
-)
-target_include_directories(adios2
-  PUBLIC
-    $<BUILD_INTERFACE:${ADIOS_BINARY_DIR}>
-    $<INSTALL_INTERFACE:include>
-  PRIVATE ${ADIOS_SOURCE_DIR}/source
-)
-  
 if(ADIOS_USE_DataMan)
-  target_sources(adios2 PRIVATE
-    engine/dataman/DataManReader.cpp
-    engine/dataman/DataManWriter.cpp
-    transport/wan/MdtmMan.cpp
-    utilities/realtime/dataman/DataManBase.cpp
-    utilities/realtime/dataman/DataMan.cpp
-  )
-  target_link_libraries(adios2 PRIVATE ${CMAKE_DL_LIBS})
-endif()
-  
-if(ADIOS_USE_BZip2)
-  find_package(BZip2 REQUIRED)
-  target_sources(adios2 PRIVATE transform/BZip2.cpp)
-  target_link_libraries(adios2 PRIVATE BZip2::BZip2)
-endif()
-
-if(ADIOS_USE_MPI)
-  find_package(MPI COMPONENTS C REQUIRED)
-  target_include_directories(adios2 PUBLIC ${MPI_C_INCLUDE_PATH})
-  target_link_libraries(adios2 PUBLIC ${MPI_C_LIBRARIES})
-else()
-  target_sources(adios2 PRIVATE mpidummy.cpp)
-endif()
-
-if(ADIOS_USE_ADIOS1)
-  if(ADIOS_USE_MPI)
-    find_package(ADIOS1 REQUIRED)
-  else()
-    find_package(ADIOS1 COMPONENTS sequential REQUIRED)
-  endif()
-
-  target_sources(adios2 PRIVATE
-    engine/adios1/ADIOS1Reader.cpp
-    engine/adios1/ADIOS1Writer.cpp
-  )
-  target_link_libraries(adios2 PRIVATE adios1::adios)
-endif()
-
-if(ADIOS_USE_HDF5)
-  find_package(HDF5 REQUIRED)
-  if(ADIOS_USE_MPI AND (NOT HDF5_IS_PARALLEL))
-    message(FATAL_ERROR
-      "A sequential version of HDF5 was detected but the parallel version "
-      "of ADIOS is being built, which requires a parallel HDF5."
-    )
-  elseif((NOT ADIOS_USE_MPI) AND HDF5_IS_PARALLEL)
-    message(FATAL_ERROR
-      "A parallel version of HDF5 was detected but the sequential version "
-      "of ADIOS is being built, which requires a sequential HDF5."
-    )
-  endif()
-
-  target_include_directories(adios2 PRIVATE ${HDF5_INCLUDE_DIRS})
-  target_sources(adios2 PRIVATE
-    engine/hdf5/HDF5ReaderP.cpp
-    engine/hdf5/HDF5WriterP.cpp
-  )
-  target_link_libraries(adios2 PRIVATE ${HDF5_C_LIBRARIES})
+  add_subdirectory(dataman)
 endif()
 
-# Main header when using the build directory
-set(ADIOS_INCLUDE_DIR "${ADIOS_SOURCE_DIR}/source")
-set(ADIOS_CONFIG_DIR "${ADIOS_BINARY_DIR}")
-configure_file(adios2.h.in ${ADIOS_BINARY_DIR}/adios2.h)
+add_subdirectory(adios2)
 
-# Header installation
-set(ADIOS_INCLUDE_DIR "adios2")
-set(ADIOS_CONFIG_DIR "adios2")
-configure_file(adios2.h.in ${ADIOS_BINARY_DIR}/adios2.install.h)
 install(
-  FILES ${ADIOS_BINARY_DIR}/adios2.install.h
+  FILES adios2.h
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-  RENAME adios2.h
-)
-install(
-  FILES
-    ADIOS.h ADIOS.inl ADIOSMacros.h ADIOS_MPI.h ADIOSTypes.h mpidummy.h
-    ${ADIOS_BINARY_DIR}/ADIOSConfig.h
-  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adios2
-)
-install(
-  DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/core
-  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adios2
-  FILES_MATCHING REGEX "[^/]*\.(h|inl)$"
-)
-
-# Library installation
-install(
-  TARGETS adios2 EXPORT adios2
-  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
 )
diff --git a/source/adios2.h b/source/adios2.h
new file mode 100644
index 000000000..0b54946ea
--- /dev/null
+++ b/source/adios2.h
@@ -0,0 +1,16 @@
+/*
+ * Distributed under the OSI-approved Apache License, Version 2.0.  See
+ * accompanying file Copyright.txt for details.
+ */
+
+#ifndef ADIOS2_H_
+#define ADIOS2_H_
+
+#include "adios2/ADIOSConfig.h"
+#include "adios2/ADIOS.h"
+#include "adios2/ADIOSTypes.h"
+#include "adios2/core/Method.h"
+#include "adios2/core/Engine.h"
+#include "adios2/core/Transform.h"
+
+#endif /* ADIOS2_H_ */
diff --git a/source/adios2.h.in b/source/adios2.h.in
deleted file mode 100644
index 6c2a580d8..000000000
--- a/source/adios2.h.in
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Distributed under the OSI-approved Apache License, Version 2.0.  See
- * accompanying file Copyright.txt for details.
- */
-
-#ifndef ADIOS2_H_
-#define ADIOS2_H_
-
-#include "@ADIOS_CONFIG_DIR@/ADIOSConfig.h"
-#include "@ADIOS_INCLUDE_DIR@/ADIOS.h"
-#include "@ADIOS_INCLUDE_DIR@/ADIOSTypes.h"
-#include "@ADIOS_INCLUDE_DIR@/core/Method.h"
-#include "@ADIOS_INCLUDE_DIR@/core/Engine.h"
-#include "@ADIOS_INCLUDE_DIR@/core/Transform.h"
-
-#endif /* ADIOS2_H_ */
diff --git a/source/ADIOS.cpp b/source/adios2/ADIOS.cpp
similarity index 100%
rename from source/ADIOS.cpp
rename to source/adios2/ADIOS.cpp
diff --git a/source/ADIOS.h b/source/adios2/ADIOS.h
similarity index 100%
rename from source/ADIOS.h
rename to source/adios2/ADIOS.h
diff --git a/source/ADIOS.inl b/source/adios2/ADIOS.inl
similarity index 100%
rename from source/ADIOS.inl
rename to source/adios2/ADIOS.inl
diff --git a/source/ADIOS.tcc b/source/adios2/ADIOS.tcc
similarity index 100%
rename from source/ADIOS.tcc
rename to source/adios2/ADIOS.tcc
diff --git a/source/adios2/ADIOSConfig.h.in b/source/adios2/ADIOSConfig.h.in
new file mode 100644
index 000000000..90fb88224
--- /dev/null
+++ b/source/adios2/ADIOSConfig.h.in
@@ -0,0 +1,18 @@
+/*
+ * Distributed under the OSI-approved Apache License, Version 2.0.  See
+ * accompanying file Copyright.txt for details.
+ */
+
+#ifndef ADIOSCONFIG_H_
+#define ADIOSCONFIG_H_
+
+/* ADIOS Version Information */
+#define ADIOS2_VERSION_MAJOR @ADIOS_VERSION_MAJOR@
+#define ADIOS2_VERSION_MINOR @ADIOS_VERSION_MINOR@
+#define ADIOS2_VERSION_PATCH @ADIOS_VERSION_PATCH@
+#define ADIOS2_VERSION       @ADIOS_VERSION@
+
+/*
+ * ADIOS Build Information:
+ *
+ * Compiler:
diff --git a/source/ADIOSMacros.h b/source/adios2/ADIOSMacros.h
similarity index 100%
rename from source/ADIOSMacros.h
rename to source/adios2/ADIOSMacros.h
diff --git a/source/ADIOSTypes.h b/source/adios2/ADIOSTypes.h
similarity index 100%
rename from source/ADIOSTypes.h
rename to source/adios2/ADIOSTypes.h
diff --git a/source/ADIOS_MPI.h b/source/adios2/ADIOS_MPI.h
similarity index 100%
rename from source/ADIOS_MPI.h
rename to source/adios2/ADIOS_MPI.h
diff --git a/source/adios2/CMakeLists.txt b/source/adios2/CMakeLists.txt
new file mode 100644
index 000000000..36f7d71c6
--- /dev/null
+++ b/source/adios2/CMakeLists.txt
@@ -0,0 +1,120 @@
+#------------------------------------------------------------------------------#
+# Distributed under the OSI-approved Apache License, Version 2.0.  See
+# accompanying file Copyright.txt for details.
+#------------------------------------------------------------------------------#
+  
+add_library(adios2
+  ADIOS.cpp ADIOS.tcc
+  
+  capsule/heap/STLVector.cpp
+  capsule/shmem/ShmSystemV.cpp
+  
+  core/Capsule.cpp
+  core/Engine.cpp
+  core/Method.cpp
+  core/Support.cpp
+  core/Timer.cpp
+  core/Transform.cpp
+  core/Transport.cpp
+  core/adiosFunctions.cpp
+  
+  engine/bp/BPFileReader.cpp
+  engine/bp/BPFileWriter.cpp
+
+  utilities/format/bp1/BP1Base.cpp
+  utilities/format/bp1/BP1Aggregator.cpp
+  utilities/format/bp1/BP1Writer.cpp
+    
+  transport/file/FStream.cpp
+  transport/file/FileDescriptor.cpp
+  transport/file/FilePointer.cpp
+    
+  utilities/format/bp1/BP1Base.cpp
+  utilities/format/bp1/BP1Aggregator.cpp
+  utilities/format/bp1/BP1Writer.cpp
+  utilities/format/bp1/BP1Writer.tcc
+)
+target_include_directories(adios2
+  PUBLIC
+    $<BUILD_INTERFACE:${ADIOS_BINARY_DIR}>
+    $<INSTALL_INTERFACE:include>
+  PRIVATE ${ADIOS_SOURCE_DIR}/source
+)
+  
+if(ADIOS_USE_DataMan)
+  target_sources(adios2 PRIVATE
+    engine/dataman/DataManReader.cpp
+    engine/dataman/DataManWriter.cpp
+    transport/wan/MdtmMan.cpp
+  )
+  target_link_libraries(adios2 PRIVATE dataman)
+endif()
+  
+if(ADIOS_USE_BZip2)
+  find_package(BZip2 REQUIRED)
+  target_sources(adios2 PRIVATE transform/BZip2.cpp)
+  target_link_libraries(adios2 PRIVATE BZip2::BZip2)
+endif()
+
+if(ADIOS_USE_MPI)
+  find_package(MPI COMPONENTS C REQUIRED)
+  target_include_directories(adios2 PUBLIC ${MPI_C_INCLUDE_PATH})
+  target_link_libraries(adios2 PUBLIC ${MPI_C_LIBRARIES})
+else()
+  target_sources(adios2 PRIVATE mpidummy.cpp)
+endif()
+
+if(ADIOS_USE_ADIOS1)
+  if(ADIOS_USE_MPI)
+    find_package(ADIOS1 REQUIRED)
+  else()
+    find_package(ADIOS1 COMPONENTS sequential REQUIRED)
+  endif()
+
+  target_sources(adios2 PRIVATE
+    engine/adios1/ADIOS1Reader.cpp
+    engine/adios1/ADIOS1Writer.cpp
+  )
+  target_link_libraries(adios2 PRIVATE adios1::adios)
+endif()
+
+if(ADIOS_USE_HDF5)
+  find_package(HDF5 REQUIRED)
+  if(ADIOS_USE_MPI AND (NOT HDF5_IS_PARALLEL))
+    message(FATAL_ERROR
+      "A sequential version of HDF5 was detected but the parallel version "
+      "of ADIOS is being built, which requires a parallel HDF5."
+    )
+  elseif((NOT ADIOS_USE_MPI) AND HDF5_IS_PARALLEL)
+    message(FATAL_ERROR
+      "A parallel version of HDF5 was detected but the sequential version "
+      "of ADIOS is being built, which requires a sequential HDF5."
+    )
+  endif()
+
+  target_include_directories(adios2 PRIVATE ${HDF5_INCLUDE_DIRS})
+  target_sources(adios2 PRIVATE
+    engine/hdf5/HDF5ReaderP.cpp
+    engine/hdf5/HDF5WriterP.cpp
+  )
+  target_link_libraries(adios2 PRIVATE ${HDF5_C_LIBRARIES})
+endif()
+
+install(
+  FILES
+    ADIOS.h ADIOS.inl ADIOSMacros.h ADIOS_MPI.h ADIOSTypes.h mpidummy.h adios2.h
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adios2
+)
+install(
+  DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/core
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adios2
+  FILES_MATCHING REGEX "[^/]*\.(h|inl)$"
+)
+
+# Library installation
+install(
+  TARGETS adios2 EXPORT adios2
+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
diff --git a/source/capsule/heap/STLVector.cpp b/source/adios2/capsule/heap/STLVector.cpp
similarity index 100%
rename from source/capsule/heap/STLVector.cpp
rename to source/adios2/capsule/heap/STLVector.cpp
diff --git a/source/capsule/heap/STLVector.h b/source/adios2/capsule/heap/STLVector.h
similarity index 100%
rename from source/capsule/heap/STLVector.h
rename to source/adios2/capsule/heap/STLVector.h
diff --git a/source/capsule/shmem/ShmSystemV.cpp b/source/adios2/capsule/shmem/ShmSystemV.cpp
similarity index 100%
rename from source/capsule/shmem/ShmSystemV.cpp
rename to source/adios2/capsule/shmem/ShmSystemV.cpp
diff --git a/source/capsule/shmem/ShmSystemV.h b/source/adios2/capsule/shmem/ShmSystemV.h
similarity index 100%
rename from source/capsule/shmem/ShmSystemV.h
rename to source/adios2/capsule/shmem/ShmSystemV.h
diff --git a/source/core/Attribute.h b/source/adios2/core/Attribute.h
similarity index 100%
rename from source/core/Attribute.h
rename to source/adios2/core/Attribute.h
diff --git a/source/core/Capsule.cpp b/source/adios2/core/Capsule.cpp
similarity index 100%
rename from source/core/Capsule.cpp
rename to source/adios2/core/Capsule.cpp
diff --git a/source/core/Capsule.h b/source/adios2/core/Capsule.h
similarity index 100%
rename from source/core/Capsule.h
rename to source/adios2/core/Capsule.h
diff --git a/source/core/Engine.cpp b/source/adios2/core/Engine.cpp
similarity index 100%
rename from source/core/Engine.cpp
rename to source/adios2/core/Engine.cpp
diff --git a/source/core/Engine.h b/source/adios2/core/Engine.h
similarity index 100%
rename from source/core/Engine.h
rename to source/adios2/core/Engine.h
diff --git a/source/core/IOChrono.h b/source/adios2/core/IOChrono.h
similarity index 100%
rename from source/core/IOChrono.h
rename to source/adios2/core/IOChrono.h
diff --git a/source/core/Method.cpp b/source/adios2/core/Method.cpp
similarity index 100%
rename from source/core/Method.cpp
rename to source/adios2/core/Method.cpp
diff --git a/source/core/Method.h b/source/adios2/core/Method.h
similarity index 100%
rename from source/core/Method.h
rename to source/adios2/core/Method.h
diff --git a/source/core/Selection.h b/source/adios2/core/Selection.h
similarity index 100%
rename from source/core/Selection.h
rename to source/adios2/core/Selection.h
diff --git a/source/core/SelectionBoundingBox.h b/source/adios2/core/SelectionBoundingBox.h
similarity index 100%
rename from source/core/SelectionBoundingBox.h
rename to source/adios2/core/SelectionBoundingBox.h
diff --git a/source/core/SelectionPoints.h b/source/adios2/core/SelectionPoints.h
similarity index 100%
rename from source/core/SelectionPoints.h
rename to source/adios2/core/SelectionPoints.h
diff --git a/source/core/Support.cpp b/source/adios2/core/Support.cpp
similarity index 100%
rename from source/core/Support.cpp
rename to source/adios2/core/Support.cpp
diff --git a/source/core/Support.h b/source/adios2/core/Support.h
similarity index 100%
rename from source/core/Support.h
rename to source/adios2/core/Support.h
diff --git a/source/core/Timer.cpp b/source/adios2/core/Timer.cpp
similarity index 100%
rename from source/core/Timer.cpp
rename to source/adios2/core/Timer.cpp
diff --git a/source/core/Timer.h b/source/adios2/core/Timer.h
similarity index 100%
rename from source/core/Timer.h
rename to source/adios2/core/Timer.h
diff --git a/source/core/Transform.cpp b/source/adios2/core/Transform.cpp
similarity index 100%
rename from source/core/Transform.cpp
rename to source/adios2/core/Transform.cpp
diff --git a/source/core/Transform.h b/source/adios2/core/Transform.h
similarity index 100%
rename from source/core/Transform.h
rename to source/adios2/core/Transform.h
diff --git a/source/core/Transport.cpp b/source/adios2/core/Transport.cpp
similarity index 100%
rename from source/core/Transport.cpp
rename to source/adios2/core/Transport.cpp
diff --git a/source/core/Transport.h b/source/adios2/core/Transport.h
similarity index 100%
rename from source/core/Transport.h
rename to source/adios2/core/Transport.h
diff --git a/source/core/Variable.h b/source/adios2/core/Variable.h
similarity index 100%
rename from source/core/Variable.h
rename to source/adios2/core/Variable.h
diff --git a/source/core/VariableBase.h b/source/adios2/core/VariableBase.h
similarity index 100%
rename from source/core/VariableBase.h
rename to source/adios2/core/VariableBase.h
diff --git a/source/core/VariableCompound.h b/source/adios2/core/VariableCompound.h
similarity index 100%
rename from source/core/VariableCompound.h
rename to source/adios2/core/VariableCompound.h
diff --git a/source/core/adiosFunctions.cpp b/source/adios2/core/adiosFunctions.cpp
similarity index 100%
rename from source/core/adiosFunctions.cpp
rename to source/adios2/core/adiosFunctions.cpp
diff --git a/source/core/adiosFunctions.h b/source/adios2/core/adiosFunctions.h
similarity index 100%
rename from source/core/adiosFunctions.h
rename to source/adios2/core/adiosFunctions.h
diff --git a/source/core/adiosTemplates.h b/source/adios2/core/adiosTemplates.h
similarity index 100%
rename from source/core/adiosTemplates.h
rename to source/adios2/core/adiosTemplates.h
diff --git a/source/core/capsuleTemplates.h b/source/adios2/core/capsuleTemplates.h
similarity index 100%
rename from source/core/capsuleTemplates.h
rename to source/adios2/core/capsuleTemplates.h
diff --git a/source/engine/adios1/ADIOS1Reader.cpp b/source/adios2/engine/adios1/ADIOS1Reader.cpp
similarity index 100%
rename from source/engine/adios1/ADIOS1Reader.cpp
rename to source/adios2/engine/adios1/ADIOS1Reader.cpp
diff --git a/source/engine/adios1/ADIOS1Reader.h b/source/adios2/engine/adios1/ADIOS1Reader.h
similarity index 100%
rename from source/engine/adios1/ADIOS1Reader.h
rename to source/adios2/engine/adios1/ADIOS1Reader.h
diff --git a/source/engine/adios1/ADIOS1Writer.cpp b/source/adios2/engine/adios1/ADIOS1Writer.cpp
similarity index 100%
rename from source/engine/adios1/ADIOS1Writer.cpp
rename to source/adios2/engine/adios1/ADIOS1Writer.cpp
diff --git a/source/engine/adios1/ADIOS1Writer.h b/source/adios2/engine/adios1/ADIOS1Writer.h
similarity index 100%
rename from source/engine/adios1/ADIOS1Writer.h
rename to source/adios2/engine/adios1/ADIOS1Writer.h
diff --git a/source/engine/bp/BPFileReader.cpp b/source/adios2/engine/bp/BPFileReader.cpp
similarity index 100%
rename from source/engine/bp/BPFileReader.cpp
rename to source/adios2/engine/bp/BPFileReader.cpp
diff --git a/source/engine/bp/BPFileReader.h b/source/adios2/engine/bp/BPFileReader.h
similarity index 100%
rename from source/engine/bp/BPFileReader.h
rename to source/adios2/engine/bp/BPFileReader.h
diff --git a/source/engine/bp/BPFileWriter.cpp b/source/adios2/engine/bp/BPFileWriter.cpp
similarity index 100%
rename from source/engine/bp/BPFileWriter.cpp
rename to source/adios2/engine/bp/BPFileWriter.cpp
diff --git a/source/engine/bp/BPFileWriter.h b/source/adios2/engine/bp/BPFileWriter.h
similarity index 100%
rename from source/engine/bp/BPFileWriter.h
rename to source/adios2/engine/bp/BPFileWriter.h
diff --git a/source/engine/dataman/DataManReader.cpp b/source/adios2/engine/dataman/DataManReader.cpp
similarity index 100%
rename from source/engine/dataman/DataManReader.cpp
rename to source/adios2/engine/dataman/DataManReader.cpp
diff --git a/source/engine/dataman/DataManReader.h b/source/adios2/engine/dataman/DataManReader.h
similarity index 100%
rename from source/engine/dataman/DataManReader.h
rename to source/adios2/engine/dataman/DataManReader.h
diff --git a/source/engine/dataman/DataManWriter.cpp b/source/adios2/engine/dataman/DataManWriter.cpp
similarity index 100%
rename from source/engine/dataman/DataManWriter.cpp
rename to source/adios2/engine/dataman/DataManWriter.cpp
diff --git a/source/engine/dataman/DataManWriter.h b/source/adios2/engine/dataman/DataManWriter.h
similarity index 100%
rename from source/engine/dataman/DataManWriter.h
rename to source/adios2/engine/dataman/DataManWriter.h
diff --git a/source/engine/hdf5/HDF5ReaderP.cpp b/source/adios2/engine/hdf5/HDF5ReaderP.cpp
similarity index 100%
rename from source/engine/hdf5/HDF5ReaderP.cpp
rename to source/adios2/engine/hdf5/HDF5ReaderP.cpp
diff --git a/source/engine/hdf5/HDF5ReaderP.h b/source/adios2/engine/hdf5/HDF5ReaderP.h
similarity index 100%
rename from source/engine/hdf5/HDF5ReaderP.h
rename to source/adios2/engine/hdf5/HDF5ReaderP.h
diff --git a/source/engine/hdf5/HDF5WriterP.cpp b/source/adios2/engine/hdf5/HDF5WriterP.cpp
similarity index 100%
rename from source/engine/hdf5/HDF5WriterP.cpp
rename to source/adios2/engine/hdf5/HDF5WriterP.cpp
diff --git a/source/engine/hdf5/HDF5WriterP.h b/source/adios2/engine/hdf5/HDF5WriterP.h
similarity index 100%
rename from source/engine/hdf5/HDF5WriterP.h
rename to source/adios2/engine/hdf5/HDF5WriterP.h
diff --git a/source/external/adios_selection.h b/source/adios2/external/adios_selection.h
similarity index 100%
rename from source/external/adios_selection.h
rename to source/adios2/external/adios_selection.h
diff --git a/source/mpidummy.cpp b/source/adios2/mpidummy.cpp
similarity index 100%
rename from source/mpidummy.cpp
rename to source/adios2/mpidummy.cpp
diff --git a/source/mpidummy.h b/source/adios2/mpidummy.h
similarity index 100%
rename from source/mpidummy.h
rename to source/adios2/mpidummy.h
diff --git a/source/transform/BZip2.cpp b/source/adios2/transform/BZip2.cpp
similarity index 100%
rename from source/transform/BZip2.cpp
rename to source/adios2/transform/BZip2.cpp
diff --git a/source/transform/BZip2.h b/source/adios2/transform/BZip2.h
similarity index 100%
rename from source/transform/BZip2.h
rename to source/adios2/transform/BZip2.h
diff --git a/source/transport/file/FStream.cpp b/source/adios2/transport/file/FStream.cpp
similarity index 100%
rename from source/transport/file/FStream.cpp
rename to source/adios2/transport/file/FStream.cpp
diff --git a/source/transport/file/FStream.h b/source/adios2/transport/file/FStream.h
similarity index 100%
rename from source/transport/file/FStream.h
rename to source/adios2/transport/file/FStream.h
diff --git a/source/transport/file/FileDescriptor.cpp b/source/adios2/transport/file/FileDescriptor.cpp
similarity index 100%
rename from source/transport/file/FileDescriptor.cpp
rename to source/adios2/transport/file/FileDescriptor.cpp
diff --git a/source/transport/file/FileDescriptor.h b/source/adios2/transport/file/FileDescriptor.h
similarity index 100%
rename from source/transport/file/FileDescriptor.h
rename to source/adios2/transport/file/FileDescriptor.h
diff --git a/source/transport/file/FilePointer.cpp b/source/adios2/transport/file/FilePointer.cpp
similarity index 100%
rename from source/transport/file/FilePointer.cpp
rename to source/adios2/transport/file/FilePointer.cpp
diff --git a/source/transport/file/FilePointer.h b/source/adios2/transport/file/FilePointer.h
similarity index 100%
rename from source/transport/file/FilePointer.h
rename to source/adios2/transport/file/FilePointer.h
diff --git a/source/transport/file/MPI_File.h b/source/adios2/transport/file/MPI_File.h
similarity index 100%
rename from source/transport/file/MPI_File.h
rename to source/adios2/transport/file/MPI_File.h
diff --git a/source/transport/wan/MdtmMan.cpp b/source/adios2/transport/wan/MdtmMan.cpp
similarity index 100%
rename from source/transport/wan/MdtmMan.cpp
rename to source/adios2/transport/wan/MdtmMan.cpp
diff --git a/source/transport/wan/MdtmMan.h b/source/adios2/transport/wan/MdtmMan.h
similarity index 100%
rename from source/transport/wan/MdtmMan.h
rename to source/adios2/transport/wan/MdtmMan.h
diff --git a/source/utilities/format/bp1/BP1.h b/source/adios2/utilities/format/bp1/BP1.h
similarity index 100%
rename from source/utilities/format/bp1/BP1.h
rename to source/adios2/utilities/format/bp1/BP1.h
diff --git a/source/utilities/format/bp1/BP1Aggregator.cpp b/source/adios2/utilities/format/bp1/BP1Aggregator.cpp
similarity index 100%
rename from source/utilities/format/bp1/BP1Aggregator.cpp
rename to source/adios2/utilities/format/bp1/BP1Aggregator.cpp
diff --git a/source/utilities/format/bp1/BP1Aggregator.h b/source/adios2/utilities/format/bp1/BP1Aggregator.h
similarity index 100%
rename from source/utilities/format/bp1/BP1Aggregator.h
rename to source/adios2/utilities/format/bp1/BP1Aggregator.h
diff --git a/source/utilities/format/bp1/BP1Base.cpp b/source/adios2/utilities/format/bp1/BP1Base.cpp
similarity index 100%
rename from source/utilities/format/bp1/BP1Base.cpp
rename to source/adios2/utilities/format/bp1/BP1Base.cpp
diff --git a/source/utilities/format/bp1/BP1Base.h b/source/adios2/utilities/format/bp1/BP1Base.h
similarity index 100%
rename from source/utilities/format/bp1/BP1Base.h
rename to source/adios2/utilities/format/bp1/BP1Base.h
diff --git a/source/utilities/format/bp1/BP1Structs.h b/source/adios2/utilities/format/bp1/BP1Structs.h
similarity index 100%
rename from source/utilities/format/bp1/BP1Structs.h
rename to source/adios2/utilities/format/bp1/BP1Structs.h
diff --git a/source/utilities/format/bp1/BP1Writer.cpp b/source/adios2/utilities/format/bp1/BP1Writer.cpp
similarity index 100%
rename from source/utilities/format/bp1/BP1Writer.cpp
rename to source/adios2/utilities/format/bp1/BP1Writer.cpp
diff --git a/source/utilities/format/bp1/BP1Writer.h b/source/adios2/utilities/format/bp1/BP1Writer.h
similarity index 100%
rename from source/utilities/format/bp1/BP1Writer.h
rename to source/adios2/utilities/format/bp1/BP1Writer.h
diff --git a/source/utilities/format/bp1/BP1Writer.tcc b/source/adios2/utilities/format/bp1/BP1Writer.tcc
similarity index 100%
rename from source/utilities/format/bp1/BP1Writer.tcc
rename to source/adios2/utilities/format/bp1/BP1Writer.tcc
diff --git a/source/dataman/CMakeLists.txt b/source/dataman/CMakeLists.txt
new file mode 100644
index 000000000..947f927d1
--- /dev/null
+++ b/source/dataman/CMakeLists.txt
@@ -0,0 +1,18 @@
+#------------------------------------------------------------------------------#
+# Distributed under the OSI-approved Apache License, Version 2.0.  See
+# accompanying file Copyright.txt for details.
+#------------------------------------------------------------------------------#
+
+add_library(dataman
+  DataManBase.h DataManBase.cpp
+  DataMan.h DataMan.cpp
+)
+target_include_directories(dataman PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+target_link_libraries(dataman PUBLIC ${CMAKE_DL_LIBS})
+
+install(
+  TARGETS dataman EXPORT adios2
+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
diff --git a/source/utilities/realtime/dataman/DataMan.cpp b/source/dataman/DataMan.cpp
similarity index 94%
rename from source/utilities/realtime/dataman/DataMan.cpp
rename to source/dataman/DataMan.cpp
index 84bad36c9..5d8f446a4 100644
--- a/source/utilities/realtime/dataman/DataMan.cpp
+++ b/source/dataman/DataMan.cpp
@@ -10,11 +10,6 @@
 
 #include "DataMan.h"
 
-namespace adios
-{
-namespace realtime
-{
-
 int DataMan::init(json p_jmsg) { return 0; }
 
 int DataMan::put(const void *p_data, std::string p_doid, std::string p_var,
@@ -72,8 +67,3 @@ void DataMan::add_stream(json p_jmsg)
 void DataMan::flush() { flush_next(); }
 
 int DataMan::get(void *p_data, json &p_jmsg) { return 0; }
-
-// end namespace realtime
-}
-// end namespace adios
-}
diff --git a/source/utilities/realtime/dataman/DataMan.h b/source/dataman/DataMan.h
similarity index 88%
rename from source/utilities/realtime/dataman/DataMan.h
rename to source/dataman/DataMan.h
index 5ce0fc3a2..82bfa9c88 100644
--- a/source/utilities/realtime/dataman/DataMan.h
+++ b/source/dataman/DataMan.h
@@ -11,13 +11,7 @@
 #ifndef DATAMANAGER_H_
 #define DATAMANAGER_H_
 
-#include "ADIOSConfig.h"
-#include "utilities/realtime/dataman/DataManBase.h"
-
-namespace adios
-{
-namespace realtime
-{
+#include "DataManBase.h"
 
 class DataMan : public DataManBase
 {
@@ -48,8 +42,4 @@ private:
     std::vector<int> m_priority;
 };
 
-// end namespace realtime
-}
-// end namespace adios
-}
 #endif
diff --git a/source/utilities/realtime/dataman/DataManBase.cpp b/source/dataman/DataManBase.cpp
similarity index 98%
rename from source/utilities/realtime/dataman/DataManBase.cpp
rename to source/dataman/DataManBase.cpp
index c2f8ca611..5f9f73ec8 100644
--- a/source/utilities/realtime/dataman/DataManBase.cpp
+++ b/source/dataman/DataManBase.cpp
@@ -10,11 +10,6 @@
 
 #include "DataManBase.h"
 
-namespace adios
-{
-namespace realtime
-{
-
 DataManBase::DataManBase()
 {
     m_profiling["total_manager_time"] = 0.0f;
@@ -261,8 +256,3 @@ std::shared_ptr<DataManBase> DataManBase::get_man(std::string method)
     }
     return nullptr;
 }
-
-// end namespace realtime
-}
-// end namespace adios
-}
diff --git a/source/utilities/realtime/dataman/DataManBase.h b/source/dataman/DataManBase.h
similarity index 98%
rename from source/utilities/realtime/dataman/DataManBase.h
rename to source/dataman/DataManBase.h
index 9d1445742..f7e9c3d88 100644
--- a/source/utilities/realtime/dataman/DataManBase.h
+++ b/source/dataman/DataManBase.h
@@ -24,12 +24,7 @@
 #include <string>
 #include <vector>
 
-#include "external/json.hpp"
-
-namespace adios
-{
-namespace realtime
-{
+#include "json.hpp"
 
 class DataManBase
 {
@@ -276,8 +271,4 @@ private:
     bool m_profiling_enabled = false;
 };
 
-// end namespace realtime
-}
-// end namespace adios
-}
 #endif
diff --git a/source/external/json.hpp b/source/dataman/json.hpp
similarity index 100%
rename from source/external/json.hpp
rename to source/dataman/json.hpp
-- 
GitLab