From 7b78efe4e53df331b2fe0d52bdf7c5f079a36995 Mon Sep 17 00:00:00 2001 From: Chuck Atkins <chuck.atkins@kitware.com> Date: Thu, 20 Apr 2017 13:01:16 -0400 Subject: [PATCH] Integrate new dataman classes with CMake dependencies --- CMakeLists.txt | 2 + source/dataman/CMakeLists.txt | 76 +++++++++++++---------------------- 2 files changed, 31 insertions(+), 47 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d8b020a9..26b8c5a3f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -140,5 +140,7 @@ message(" BZip2: ${ADIOS_USE_BZip2}") message(" ZFP: ${ADIOS_USE_ZFP}") message(" ADIOS1: ${ADIOS_USE_ADIOS1}") message(" DataMan: ${ADIOS_USE_DataMan}") +message(" ZeroMQ: ${ADIOS_USE_DataMan_ZeroMQ}") +message(" ZFP: ${ADIOS_USE_DataMan_ZFP}") message(" HDF5: ${ADIOS_USE_HDF5}") message("") diff --git a/source/dataman/CMakeLists.txt b/source/dataman/CMakeLists.txt index 3905eeae5..c7ecdbaee 100644 --- a/source/dataman/CMakeLists.txt +++ b/source/dataman/CMakeLists.txt @@ -3,6 +3,8 @@ # accompanying file Copyright.txt for details. #------------------------------------------------------------------------------# +set(dataman_targets) + add_library(dataman DataMan.cpp DataManBase.cpp) target_include_directories(dataman PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(dataman PRIVATE adios2sys) @@ -12,69 +14,49 @@ list(APPEND dataman_targets dataman) # MODULE libraries are designed to be plugins, i.e. shared libs that nobody # else links to. -add_library(cacheman SHARED CacheMan.cpp) -target_link_libraries(cacheman PRIVATE dataman) -list(APPEND dataman_targets cacheman) +add_library(dumpman MODULE DumpMan.h DumpMan.cpp) +target_link_libraries(dumpman PRIVATE dataman) +list(APPEND dataman_targets dumpman) + +add_library(temporalman MODULE TemporalMan.h TemporalMan.cpp) +target_link_libraries(temporalman PRIVATE dataman) +list(APPEND dataman_targets temporalman) + +add_library(streamman OBJECT StreamMan.h StreamMan.cpp) option(ADIOS_USE_DataMan_ZeroMQ "Enable ZeroMQ for DataMan" OFF) if(ADIOS_USE_DataMan_ZeroMQ) find_package(ZeroMQ REQUIRED) - message(STATUS "DataMan ZeroMQ support not yet implemented") -# add_library(zmqman MODULE ZmqMan.h ZmqMan.cpp) -# target_link_libraries(zmqman PRIVATE dataman ZeroMQ::ZMQ) -# -# list(APPEND dataman_targets zmqman) + add_library(zmqman MODULE + ZmqMan.h ZmqMan.cpp + $<TARGET_OBJECTS:streamman> + ) + target_link_libraries(zmqman PRIVATE dataman ZeroMQ::ZMQ) + list(APPEND dataman_targets zmqman) + + add_library(mdtmman MODULE + MdtmMan.h MdtmMan.cpp + $<TARGET_OBJECTS:streamman> + ) + target_link_libraries(mdtmman PRIVATE dataman ZeroMQ::ZMQ) + list(APPEND dataman_targets mdtmman) endif() -# Make this a standalone option if you want to seperately enable/disable -# DataMan ZFP support from ADIOS ZFP support. -set(ADIOS_USE_DataMan_ZFP ${ADIOS_USE_ZFP}) +set(ADIOS_USE_DataMan_ZFP ${ADIOS_USE_ZFP} CACHE INTERNAL "Enable ZFP for DataMan" FORCE) if(ADIOS_USE_DataMan_ZFP) find_package(ZFP REQUIRED) - message(STATUS "DataMan ZFP support not yet implemented") - -# add_library(zfpman MODULE ZfpMan.h ZfpMan.cpp) -# target_link_libraries(zfpman PRIVATE dataman zfp::zfp) -# -# list(APPEND dataman_targets zfpman) -endif() -add_library(dumpman SHARED DumpMan.cpp) -target_link_libraries(dumpman PRIVATE dataman) -list(APPEND dataman_targets dumpman) + add_library(zfpman MODULE ZfpMan.h ZfpMan.cpp) + target_link_libraries(zfpman PRIVATE dataman zfp::zfp) -add_library(streamman SHARED StreamMan.cpp) -target_link_libraries(streamman PRIVATE dataman cacheman zmq) -list(APPEND dataman_targets streamman) - -add_library(mdtmman SHARED MdtmMan.cpp) -target_link_libraries(mdtmman PRIVATE dataman cacheman streamman zmq) -list(APPEND dataman_targets mdtmman) - -add_library(zmqman SHARED ZmqMan.cpp) -target_link_libraries(zmqman PRIVATE dataman cacheman streamman zmq) -list(APPEND dataman_targets zmqman) - -add_library(zfpman SHARED ZfpMan.cpp) -target_link_libraries(zfpman PRIVATE dataman zfp) -list(APPEND dataman_targets zfpman) - -add_library(temporalman SHARED TemporalMan.cpp) -target_link_libraries(temporalman PRIVATE dataman) -list(APPEND dataman_targets temporalman) + list(APPEND dataman_targets zfpman) +endif() install( -<<<<<<< 3cc571b50c67adec8a481ab201f5437f1a8d923b TARGETS ${dataman_targets} EXPORT adios2 -======= - TARGETS dataman cacheman dumpman mdtmman zmqman zfpman temporalman EXPORT adios2 ->>>>>>> added all dataman plugins RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) - - - -- GitLab