From 5bd11bfa8768d2b9e2b46b29b1574adb5ef05521 Mon Sep 17 00:00:00 2001
From: Chuck Atkins <chuck.atkins@kitware.com>
Date: Fri, 7 Apr 2017 15:32:42 -0400
Subject: [PATCH] Cleanup Cmake files from ADIOS1 merge

---
 examples/heatTransfer/CMakeLists.txt          | 24 +--------
 examples/heatTransfer/read/CMakeLists.txt     | 36 ++++++-------
 .../heatTransfer/read/heatRead_adios1.cpp     |  2 -
 examples/heatTransfer/write/CMakeLists.txt    | 51 +++++++++++++++++++
 .../heatTransfer/{ => write}/HeatTransfer.cpp |  0
 .../heatTransfer/{ => write}/HeatTransfer.h   |  2 -
 examples/heatTransfer/{ => write}/IO.h        |  3 --
 .../heatTransfer/{ => write}/IO_adios1.cpp    |  0
 .../heatTransfer/{ => write}/IO_adios2.cpp    |  0
 .../heatTransfer/{ => write}/IO_ascii.cpp     |  0
 .../heatTransfer/{ => write}/IO_hdf5_a.cpp    |  0
 .../heatTransfer/{ => write}/Settings.cpp     |  4 +-
 examples/heatTransfer/{ => write}/Settings.h  |  3 +-
 examples/heatTransfer/{ => write}/main.cpp    |  0
 include/engine/adios1/ADIOS1Reader.h          |  5 +-
 include/engine/adios1/ADIOS1Writer.h          |  4 +-
 source/CMakeLists.txt                         | 28 ----------
 17 files changed, 79 insertions(+), 83 deletions(-)
 create mode 100644 examples/heatTransfer/write/CMakeLists.txt
 rename examples/heatTransfer/{ => write}/HeatTransfer.cpp (100%)
 rename examples/heatTransfer/{ => write}/HeatTransfer.h (95%)
 rename examples/heatTransfer/{ => write}/IO.h (84%)
 rename examples/heatTransfer/{ => write}/IO_adios1.cpp (100%)
 rename examples/heatTransfer/{ => write}/IO_adios2.cpp (100%)
 rename examples/heatTransfer/{ => write}/IO_ascii.cpp (100%)
 rename examples/heatTransfer/{ => write}/IO_hdf5_a.cpp (100%)
 rename examples/heatTransfer/{ => write}/Settings.cpp (98%)
 rename examples/heatTransfer/{ => write}/Settings.h (98%)
 rename examples/heatTransfer/{ => write}/main.cpp (100%)

diff --git a/examples/heatTransfer/CMakeLists.txt b/examples/heatTransfer/CMakeLists.txt
index bca588c58..02e4cd30c 100644
--- a/examples/heatTransfer/CMakeLists.txt
+++ b/examples/heatTransfer/CMakeLists.txt
@@ -3,27 +3,5 @@
 # accompanying file Copyright.txt for details.
 #------------------------------------------------------------------------------#
 
-add_executable(heatTransfer_adios main.cpp HeatTransfer.cpp Settings.cpp IO_adios2.cpp)
-
-if(ADIOS_USE_MPI)
-    find_package(MPI COMPONENTS C REQUIRED)
-    target_include_directories(heatTransfer_adios PRIVATE ${MPI_C_INCLUDE_PATH})
-    target_link_libraries(heatTransfer_adios adios2 ${MPI_C_LIBRARIES})
-else(ADIOS_USE_MPI) 
-    target_link_libraries(heatTransfer_adios adios2)
-endif()
-
-if(ADIOS_USE_ADIOS1)
-    find_package(ADIOS1 REQUIRED)
-    add_executable(heatTransfer_adios1 main.cpp HeatTransfer.cpp Settings.cpp IO_adios1.cpp)
-    if(ADIOS_USE_MPI)
-        target_include_directories(heatTransfer_adios1 PRIVATE ${MPI_C_INCLUDE_PATH})
-        target_link_libraries(heatTransfer_adios1  adios1::adios ${MPI_C_LIBRARIES})
-    else(ADIOS_USE_MPI) 
-        target_compile_definitions(heatTransfer_adios1 PRIVATE -D_NOMPI)
-        target_link_libraries(heatTransfer_adios1 adios1::adios)
-    endif()
-endif()
-
+add_subdirectory(write)
 add_subdirectory(read)
-
diff --git a/examples/heatTransfer/read/CMakeLists.txt b/examples/heatTransfer/read/CMakeLists.txt
index 993d1d047..c82cf01a8 100644
--- a/examples/heatTransfer/read/CMakeLists.txt
+++ b/examples/heatTransfer/read/CMakeLists.txt
@@ -3,25 +3,25 @@
 # accompanying file Copyright.txt for details.
 #------------------------------------------------------------------------------#
 
-#add_executable(heatRead_adios heatRead_adios.cpp)
-#
-#if(ADIOS_USE_MPI)
-#    find_package(MPI COMPONENTS C REQUIRED)
-#    target_include_directories(heatRead_adios PRIVATE ${MPI_C_INCLUDE_PATH})
-#    target_link_libraries(heatRead_adios adios2 ${MPI_C_LIBRARIES})
-#else(ADIOS_USE_MPI) 
-#    target_link_libraries(heatRead_adios adios2)
-#endif()
-
-if(ADIOS_USE_ADIOS1)
+if(ADIOS_USE_MPI)
+  if(ADIOS_USE_ADIOS1)
     find_package(ADIOS1 REQUIRED)
-    add_executable(heatRead_adios1 heatRead_adios1.cpp PrintData.cpp)
-    if(ADIOS_USE_MPI)
-        target_include_directories(heatRead_adios1 PRIVATE ${MPI_C_INCLUDE_PATH})
-        target_link_libraries(heatRead_adios1  adios1::adios ${MPI_C_LIBRARIES})
-    else(ADIOS_USE_MPI) 
-        target_compile_definitions(heatRead_adios1 PRIVATE -D_NOMPI)
-        target_link_libraries(heatRead_adios1 adios1::adios)
+    find_package(MPI COMPONENTS C REQUIRED)
+
+    add_executable(headTransfer_read_adios1 heatRead_adios1.cpp PrintData.cpp)
+    target_include_directories(headTransfer_read_adios1
+      PRIVATE ${MPI_C_INCLUDE_PATH}
+    )
+    target_link_libraries(headTransfer_read_adios1
+      adios1::adios ${MPI_C_LIBRARIES}
+    )
+
+    if(ADIOS_BUILD_TESTING)
+      add_test(
+        NAME Example::heatTransfer::read::adios1
+        COMMAND heatRead_adios1
+      )
     endif()
+  endif()
 endif()
 
diff --git a/examples/heatTransfer/read/heatRead_adios1.cpp b/examples/heatTransfer/read/heatRead_adios1.cpp
index d596d223e..bcedac6d5 100644
--- a/examples/heatTransfer/read/heatRead_adios1.cpp
+++ b/examples/heatTransfer/read/heatRead_adios1.cpp
@@ -1,7 +1,5 @@
 
-#define OMPI_SKIP_MPICXX 1 // workaround for OpenMPI forcing C++ bindings
 #include <mpi.h>
-#undef OMPI_SKIP_MPICXX
 
 #include "adios_read.h"
 #include <cstdint>
diff --git a/examples/heatTransfer/write/CMakeLists.txt b/examples/heatTransfer/write/CMakeLists.txt
new file mode 100644
index 000000000..eb72a2af9
--- /dev/null
+++ b/examples/heatTransfer/write/CMakeLists.txt
@@ -0,0 +1,51 @@
+#------------------------------------------------------------------------------#
+# Distributed under the OSI-approved Apache License, Version 2.0.  See
+# accompanying file Copyright.txt for details.
+#------------------------------------------------------------------------------#
+
+if(ADIOS_USE_MPI)
+  find_package(MPI COMPONENTS C REQUIRED)
+
+  add_executable(heatTransfer_write_adios2
+    main.cpp
+    HeatTransfer.cpp
+    Settings.cpp
+    IO_adios2.cpp
+  )
+  target_include_directories(heatTransfer_write_adios2
+    PRIVATE ${MPI_C_INCLUDE_PATH}
+  )
+  target_link_libraries(heatTransfer_write_adios2 adios2 ${MPI_C_LIBRARIES})
+
+  if(ADIOS_BUILD_TESTING)
+    add_test(
+      NAME Example::heatTransfer::write::adios2
+      COMMAND heatTransfer_write_adios2
+    )
+  endif()
+
+  if(ADIOS_USE_ADIOS1)
+    find_package(ADIOS1 REQUIRED)
+    find_package(MPI COMPONENTS C REQUIRED)
+
+    add_executable(heatTransfer_write_adios1
+      main.cpp
+      HeatTransfer.cpp
+      Settings.cpp
+      IO_adios1.cpp
+    )
+    target_include_directories(heatTransfer_write_adios1
+      PRIVATE ${MPI_C_INCLUDE_PATH}
+    )
+    target_link_libraries(heatTransfer_write_adios1
+      adios1::adios ${MPI_C_LIBRARIES}
+    )
+
+    if(ADIOS_BUILD_TESTING)
+      add_test(
+        NAME Example::heatTransfer::write::adios1
+        COMMAND heatTransfer_write_adios1
+      )
+    endif()
+  endif()
+endif()
diff --git a/examples/heatTransfer/HeatTransfer.cpp b/examples/heatTransfer/write/HeatTransfer.cpp
similarity index 100%
rename from examples/heatTransfer/HeatTransfer.cpp
rename to examples/heatTransfer/write/HeatTransfer.cpp
diff --git a/examples/heatTransfer/HeatTransfer.h b/examples/heatTransfer/write/HeatTransfer.h
similarity index 95%
rename from examples/heatTransfer/HeatTransfer.h
rename to examples/heatTransfer/write/HeatTransfer.h
index 5233d3f5f..a52acbb74 100644
--- a/examples/heatTransfer/HeatTransfer.h
+++ b/examples/heatTransfer/write/HeatTransfer.h
@@ -11,9 +11,7 @@
 #ifndef HEATTRANSFER_H_
 #define HEATTRANSFER_H_
 
-#define OMPI_SKIP_MPICXX 1 // workaround for OpenMPI forcing C++ bindings
 #include <mpi.h>
-#undef OMPI_SKIP_MPICXX
 
 #include <vector>
 
diff --git a/examples/heatTransfer/IO.h b/examples/heatTransfer/write/IO.h
similarity index 84%
rename from examples/heatTransfer/IO.h
rename to examples/heatTransfer/write/IO.h
index 0f774336f..53caaf599 100644
--- a/examples/heatTransfer/IO.h
+++ b/examples/heatTransfer/write/IO.h
@@ -14,13 +14,10 @@
 #include "HeatTransfer.h"
 #include "Settings.h"
 
-#define OMPI_SKIP_MPICXX 1 // workaround for OpenMPI forcing C++ bindings
 #include <mpi.h>
-#undef OMPI_SKIP_MPICXX
 
 class IO
 {
-
 public:
     IO(const Settings &s, MPI_Comm comm);
     ~IO();
diff --git a/examples/heatTransfer/IO_adios1.cpp b/examples/heatTransfer/write/IO_adios1.cpp
similarity index 100%
rename from examples/heatTransfer/IO_adios1.cpp
rename to examples/heatTransfer/write/IO_adios1.cpp
diff --git a/examples/heatTransfer/IO_adios2.cpp b/examples/heatTransfer/write/IO_adios2.cpp
similarity index 100%
rename from examples/heatTransfer/IO_adios2.cpp
rename to examples/heatTransfer/write/IO_adios2.cpp
diff --git a/examples/heatTransfer/IO_ascii.cpp b/examples/heatTransfer/write/IO_ascii.cpp
similarity index 100%
rename from examples/heatTransfer/IO_ascii.cpp
rename to examples/heatTransfer/write/IO_ascii.cpp
diff --git a/examples/heatTransfer/IO_hdf5_a.cpp b/examples/heatTransfer/write/IO_hdf5_a.cpp
similarity index 100%
rename from examples/heatTransfer/IO_hdf5_a.cpp
rename to examples/heatTransfer/write/IO_hdf5_a.cpp
diff --git a/examples/heatTransfer/Settings.cpp b/examples/heatTransfer/write/Settings.cpp
similarity index 98%
rename from examples/heatTransfer/Settings.cpp
rename to examples/heatTransfer/write/Settings.cpp
index 4337a00a3..4922afd5f 100644
--- a/examples/heatTransfer/Settings.cpp
+++ b/examples/heatTransfer/write/Settings.cpp
@@ -11,6 +11,8 @@
 #include <cstdlib>
 #include <errno.h>
 
+#include <stdexcept>
+
 #include "Settings.h"
 
 static unsigned int convertToUint(std::string varName, char *arg)
@@ -80,5 +82,3 @@ Settings::Settings(int argc, char *argv[], int rank, int nproc) : rank{rank}
     else
         rank_down = rank + npx;
 }
-
-Settings::~Settings() {}
diff --git a/examples/heatTransfer/Settings.h b/examples/heatTransfer/write/Settings.h
similarity index 98%
rename from examples/heatTransfer/Settings.h
rename to examples/heatTransfer/write/Settings.h
index 97e85ea31..20f83f395 100644
--- a/examples/heatTransfer/Settings.h
+++ b/examples/heatTransfer/write/Settings.h
@@ -11,7 +11,7 @@
 #ifndef SETTINGS_H_
 #define SETTINGS_H_
 
-#include <memory>
+#include <string>
 
 class Settings
 {
@@ -48,7 +48,6 @@ public:
     int rank_down;
 
     Settings(int argc, char *argv[], int rank, int nproc);
-    ~Settings();
 };
 
 #endif /* SETTINGS_H_ */
diff --git a/examples/heatTransfer/main.cpp b/examples/heatTransfer/write/main.cpp
similarity index 100%
rename from examples/heatTransfer/main.cpp
rename to examples/heatTransfer/write/main.cpp
diff --git a/include/engine/adios1/ADIOS1Reader.h b/include/engine/adios1/ADIOS1Reader.h
index 64566ec4e..041887ba9 100644
--- a/include/engine/adios1/ADIOS1Reader.h
+++ b/include/engine/adios1/ADIOS1Reader.h
@@ -23,10 +23,13 @@
 namespace adios
 {
 
-#ifdef ADIOS_NOMPI
+#ifndef ADIOS_HAVE_MPI
 #define _NOMPI 1
 #endif
 #include "adios_read_v2.h" // this is adios 1.x header file
+#ifndef ADIOS_HAVE_MPI
+#undef _NOMPI
+#endif
 
 class ADIOS1Reader : public Engine
 {
diff --git a/include/engine/adios1/ADIOS1Writer.h b/include/engine/adios1/ADIOS1Writer.h
index a8c114b28..0a3ebff9b 100644
--- a/include/engine/adios1/ADIOS1Writer.h
+++ b/include/engine/adios1/ADIOS1Writer.h
@@ -18,11 +18,11 @@
 namespace adios
 {
 
-#ifdef ADIOS_NOMPI
+#ifndef ADIOS_HAVE_MPI
 #define _NOMPI
 #endif
 #include "adios.h" // this is adios 1.x header file
-#ifdef ADIOS_NOMPI
+#ifndef ADIOS_HAVE_MPI
 #undef _NOMPI
 #endif
 
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index d3340d88a..41db2ec29 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -82,31 +82,3 @@ if(ADIOS_USE_MPI)
 else()
   target_sources(adios2 PRIVATE mpidummy.cpp)
 endif()
-
-if(ADIOS_USE_ADIOS1)
-  find_package(ADIOS1 REQUIRED)
-  target_sources(adios2 PRIVATE
-    engine/adios1/ADIOS1Reader.cpp
-    engine/adios1/ADIOS1Writer.cpp
-  )
-  target_compile_definitions(adios2 PRIVATE ADIOS_HAVE_ADIOS1)
-  target_link_libraries(adios2 PRIVATE adios1::adios)
-endif()
-
-if(ADIOS_USE_DataMan)
-  find_package(DataMan REQUIRED)
-  target_sources(adios2 PRIVATE
-    engine/dataman/DataManReader.cpp
-    engine/dataman/DataManWriter.cpp
-    transport/wan/MdtmMan.cpp
-  )
-  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 ADIOS_HAVE_BZIP2)
-  target_link_libraries(adios2 PRIVATE BZip2::BZip2)
-endif()
-- 
GitLab