Newer
Older
#------------------------------------------------------------------------------#
# Distributed under the OSI-approved Apache License, Version 2.0. See
# accompanying file Copyright.txt for details.
#------------------------------------------------------------------------------#
Atkins, Charles Vernon
committed
Atkins, Charles Vernon
committed
add_library(adios2
ADIOS.cpp ADIOS.tcc
#ADIOS_C.cpp
Atkins, Charles Vernon
committed
Atkins, Charles Vernon
committed
capsule/heap/STLVector.cpp
capsule/shmem/ShmSystemV.cpp
Atkins, Charles Vernon
committed
Atkins, Charles Vernon
committed
core/Capsule.cpp
core/Engine.cpp
core/Method.cpp
core/Support.cpp
core/Transform.cpp
core/Transport.cpp
Atkins, Charles Vernon
committed
Atkins, Charles Vernon
committed
engine/bp/BPFileReader.cpp
engine/bp/BPFileWriter.cpp
Atkins, Charles Vernon
committed
utilities/format/bp1/BP1Base.cpp
utilities/format/bp1/BP1Aggregator.cpp
utilities/format/bp1/BP1Writer.cpp
Atkins, Charles Vernon
committed
utilities/profiling/iochrono/Timer.cpp
functions/adiosFunctions.cpp
Atkins, Charles Vernon
committed
Atkins, Charles Vernon
committed
transport/file/FStream.cpp
transport/file/FileDescriptor.cpp
transport/file/FilePointer.cpp
Atkins, Charles Vernon
committed
utilities/format/bp1/BP1Base.cpp
utilities/format/bp1/BP1Aggregator.cpp
utilities/format/bp1/BP1Writer.cpp
utilities/format/bp1/BP1Writer.tcc
Atkins, Charles Vernon
committed
utilities/profiling/iochrono/Timer.cpp
)
target_include_directories(adios2
PUBLIC ${ADIOS_SOURCE_DIR}/include
)
Atkins, Charles Vernon
committed
Atkins, Charles Vernon
committed
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_compile_definitions(adios2 PRIVATE ADIOS_HAVE_DATAMAN)
target_link_libraries(adios2 PRIVATE ${CMAKE_DL_LIBS})
endif()
Atkins, Charles Vernon
committed
Atkins, Charles Vernon
committed
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)
Atkins, Charles Vernon
committed
endif()
Atkins, Charles Vernon
committed
if(ADIOS_USE_MPI)
find_package(MPI COMPONENTS C REQUIRED)
target_include_directories(adios2 PUBLIC ${MPI_C_INCLUDE_PATH})
target_compile_definitions(adios2 PUBLIC ADIOS_HAVE_MPI)
target_link_libraries(adios2 PUBLIC ${MPI_C_LIBRARIES})
Atkins, Charles Vernon
committed
else()
target_sources(adios2 PRIVATE mpidummy.cpp)
endif()
Podhorszki, Norbert
committed
Atkins, Charles Vernon
committed
if(ADIOS_USE_ADIOS1)
if(ADIOS_HAVE_MPI)
Podhorszki, Norbert
committed
find_package(ADIOS1 REQUIRED)
Atkins, Charles Vernon
committed
else()
find_package(ADIOS1 COMPONENTS sequential REQUIRED)
Podhorszki, Norbert
committed
endif()
Atkins, Charles Vernon
committed
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()
Atkins, Charles Vernon
committed
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.")
Atkins, Charles Vernon
committed
target_include_directories(adios2 PRIVATE ${HDF5_INCLUDE_DIRS})
target_sources(adios2 PRIVATE
engine/hdf5/HDF5ReaderP.cpp
engine/hdf5/HDF5WriterP.cpp
)
target_compile_definitions(adios2 PRIVATE ADIOS_HAVE_HDF5)
target_link_libraries(adios2 PRIVATE ${HDF5_C_LIBRARIES})