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