From 0c11a5981ff5b69f037fd6c563658393b6331404 Mon Sep 17 00:00:00 2001 From: Omveer Singh <osingh@cbmdpb06.gsi.de> Date: Wed, 26 Oct 2022 12:58:21 +0200 Subject: [PATCH] Transition to Modern CMake (MQ Dir) CMakeList.txt files are modified according to modern CMake. generate_cbm_executable() macro is used to make executable. Imported targets of each package are used as dependencies. --- MQ/histoServer/CMakeLists.txt | 97 ++++------ MQ/hitbuilder/CMakeLists.txt | 104 ++++------- MQ/mcbm/CMakeLists.txt | 325 ++++++++-------------------------- MQ/parmq/CMakeLists.txt | 99 +++-------- MQ/sink/CMakeLists.txt | 83 +++------ MQ/source/CMakeLists.txt | 207 +++++++--------------- MQ/unpacker/CMakeLists.txt | 126 ++++--------- 7 files changed, 281 insertions(+), 760 deletions(-) diff --git a/MQ/histoServer/CMakeLists.txt b/MQ/histoServer/CMakeLists.txt index 8cc626787e..b776c77c95 100644 --- a/MQ/histoServer/CMakeLists.txt +++ b/MQ/histoServer/CMakeLists.txt @@ -6,87 +6,50 @@ # copied verbatim in the file "LICENSE" # ################################################################################ -Set(INCLUDE_DIRECTORIES +set(INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} - ${CBMROOT_SOURCE_DIR}/fles/flestools ) -Set(SYSTEM_INCLUDE_DIRECTORIES - ${SYSTEM_INCLUDE_DIRECTORIES} - ${Boost_INCLUDE_DIR} - ${FAIRROOT_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR}/options - ${FAIRLOGGER_INCLUDE_DIR} -) - -Include_Directories(${INCLUDE_DIRECTORIES}) -Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) - -Set(LINK_DIRECTORIES - ${Boost_LIBRARY_DIRS} - ${FAIRROOT_LIBRARY_DIR} - ${ROOT_LIBRARY_DIR} -) - -Link_Directories(${LINK_DIRECTORIES}) - -set(FAIR_LIBS - FairMQ -) - -If(FAIRLOGGER_FOUND) - set(FAIR_LIBS - ${FAIR_LIBS} - FairLogger - ) -EndIf() - - -Set(BOOST_LIBS - ${Boost_SYSTEM_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} -) If(UNIX AND NOT APPLE) List(APPEND BOOST_LIBS pthread) EndIf() -# Dependencies common to all executables -set(DEPENDENCIES_ALL - ${DEPENDENCIES} - ${FAIR_LIBS} - ${BOOST_LIBS} -) - # Set the install path within the build directory set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/histogramServer") # Set the install path within the installation directory set(BIN_DESTINATION bin/MQ/histogramServer) + +set(PUBLIC_DEPS + ROOT::Core + ROOT::RHTTP + ) + +set(PRIVATE_DEPS + CbmFlibFlesTools + FairRoot::Base + FairMQ::Tools + FairMQ::FairMQ + ROOT::Gpad + ROOT::Hist + ROOT::Net + ROOT::RIO + ) + set(EXE_NAME HistoServer) set(SRCS CbmHistoServer.cxx runCbmHistoServer.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - Core - RIO - Net - Hist - RHTTP -) -GENERATE_EXECUTABLE() + +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() set(EXE_NAME MqHistoServer) set(SRCS CbmMqHistoServer.cxx runCbmMqHistoServer.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - CbmFlibFlesTools - Core - RIO - Net - Hist - Gpad - RHTTP -) -GENERATE_EXECUTABLE() + +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() diff --git a/MQ/hitbuilder/CMakeLists.txt b/MQ/hitbuilder/CMakeLists.txt index 365f168a51..9010a72074 100644 --- a/MQ/hitbuilder/CMakeLists.txt +++ b/MQ/hitbuilder/CMakeLists.txt @@ -3,94 +3,52 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQ_Mcbm.sh.in ${CMAKE_BINARY_DIR set(INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} - ${CBMDATA_DIR} - ${CBMDATA_DIR}/base - ${CBMDATA_DIR}/tof - ${CBMBASE_DIR} - ${CBMDETECTORBASE_DIR}/tof - ${CBMROOT_SOURCE_DIR}/MQ/base -) - -Set(SYSTEM_INCLUDE_DIRECTORIES - ${SYSTEM_INCLUDE_DIRECTORIES} - ${ZeroMQ_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} - ${FAIRROOT_INCLUDE_DIR} - ${FAIRLOGGER_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR}/options - ${VMC_INCLUDE_DIRS} - - ${FLES_IPC_INCLUDE_DIRECTORY} - ${CBMROOT_SOURCE_DIR}/external/cppzmq - ${CBMROOT_SOURCE_DIR}/reco/detectors/tof -) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) - -set(LINK_DIRECTORIES - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${Boost_LIBRARY_DIRS} -) - -link_directories(${LINK_DIRECTORIES}) + ) # Set the install path within the build directory set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/hitbuilder") # Set the install path within the installation directory set(BIN_DESTINATION bin/MQ/hitbuilder) -Set(BOOST_LIBS - ${Boost_SYSTEM_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_LOG_LIBRARY} -) + If(UNIX AND NOT APPLE) List(APPEND BOOST_LIBS pthread) EndIf() -set(FAIR_LIBS - Base - ParBase - ${FAIRMQ_LIBS} -) - - -If(FAIRLOGGER_FOUND) - set(FAIR_LIBS - ${FAIR_LIBS} - FairLogger - ) -EndIf() - -# Dependencies common to all executables -set(DEPENDENCIES_ALL - ${DEPENDENCIES} - ${FAIR_LIBS} - ${BOOST_LIBS} -) set(EXE_NAME HitBuilderTof) set(SRCS CbmDeviceHitBuilderTof.cxx runHitBuilderTof.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} -# external::fles_ipc - CbmBase +set(PUBLIC_DEPENDENCIES CbmData CbmTofBase - Geom - Core - MathCore - Tree - Physics - RIO - Net - Hist -) -GENERATE_EXECUTABLE() + CbmMQBase + FairRoot::Base + ROOT::Geom + + ) + +set(PRIVATE_DEPENDENCIES + CbmBase + CbmTofReco + FairMQ::Tools + FairRoot::ParBase + ROOT::Core + ROOT::Graf + ROOT::Hist + ROOT::MathCore + ROOT::Minuit + ROOT::Physics + ) + +set(INTERFACE_DEPENDENCIES + FairMQ::FairMQ + external::fles_ipc + ROOT::Net + ROOT::RIO + ROOT::Tree + ) + +generate_cbm_executable() # Set the correct variables for the installation set(VMCWORKDIR ${CMAKE_INSTALL_PREFIX}/share/cbmroot) diff --git a/MQ/mcbm/CMakeLists.txt b/MQ/mcbm/CMakeLists.txt index 57851cde09..75a34bbe58 100644 --- a/MQ/mcbm/CMakeLists.txt +++ b/MQ/mcbm/CMakeLists.txt @@ -7,303 +7,134 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startBuildRawEvents2022.sh.in configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startBmonMoni2022.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startBmonMoni2022.sh) set(INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/MQ/base - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/unpacker - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/tasks - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/parameter - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/dataformat - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/commonMQ - ${CBMROOT_SOURCE_DIR}/fles/flestools - ${CBMROOT_SOURCE_DIR}/reco/eventbuilder/digis - ${CBMROOT_SOURCE_DIR}/reco/base/ - ${CBMROOT_SOURCE_DIR}/reco/detectors/much/unpack - ${CBMROOT_SOURCE_DIR}/reco/detectors/psd/unpack - ${CBMROOT_SOURCE_DIR}/reco/detectors/rich/unpack - ${CBMROOT_SOURCE_DIR}/reco/detectors/sts/unpack - ${CBMROOT_SOURCE_DIR}/reco/detectors/tof/unpack - ${CBMROOT_SOURCE_DIR}/reco/detectors/trd/unpack - ${CBMROOT_SOURCE_DIR}/reco/detectors/trd/rawToDigiMethods - ${CBMDATA_DIR} - ${CBMDATA_DIR}/raw - ${CBMDATA_DIR}/sts - ${CBMDATA_DIR}/much - ${CBMDATA_DIR}/rich - ${CBMDATA_DIR}/tof - ${CBMDATA_DIR}/psd - ${CBMDATA_DIR}/trd - ${CBMDATA_DIR}/mvd # Feint to avoid crash of DigiManager due to missing source pointer - ${CBMDATA_DIR}/base - ${CBMDATA_DIR}/global - ${CBMBASE_DIR} - ${CBMROOT_SOURCE_DIR}/sim/transport/steer # For CbmSetup.h! - ${CBMROOT_SOURCE_DIR}/sim/transport/geosetup # For CbmGeoSetupDbProvider.h, needed by CbmSetup - - ${CBMDETECTORBASE_DIR}/sts # required for parameter handling of the sts - ${CBMDETECTORBASE_DIR}/much # required for parameter handling of the much - ${CBMDETECTORBASE_DIR}/trd # required for parameter handling of the trd - ${CBMDETECTORBASE_DIR}/tof # required for parameter handling of the tof - ${CBMDETECTORBASE_DIR}/rich # required for parameter handling of the rich - ${CBMDETECTORBASE_DIR}/psd # required for fitting tools of the psd -) - -Set(SYSTEM_INCLUDE_DIRECTORIES - ${SYSTEM_INCLUDE_DIRECTORIES} - ${BASE_INCLUDE_DIRECTORIES} - ${ZeroMQ_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} - ${FAIRROOT_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR}/options - ${VMC_INCLUDE_DIRS} - ${FAIRLOGGER_INCLUDE_DIR} - - ${FLES_IPC_INCLUDE_DIRECTORY} - ${CBMROOT_SOURCE_DIR}/external/cppzmq -) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) - -set(LINK_DIRECTORIES - ${KFParticle_LIB_DIR} - ${FAIRMQ_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${ROOT_LIBRARY_DIR} - ${Boost_LIBRARY_DIRS} -) - -link_directories(${LINK_DIRECTORIES}) + ${CMAKE_CURRENT_SOURCE_DIR} + ) # Set the install path within the build directory set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/mcbm") # Set the install path within the installation directory set(BIN_DESTINATION bin/MQ/mcbm) -Set(BOOST_LIBS - ${Boost_SYSTEM_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_LOG_LIBRARY} -) + If(UNIX AND NOT APPLE) List(APPEND BOOST_LIBS pthread) EndIf() -set(FAIR_LIBS - ${FAIRMQ_LIBS} -) - -If(FAIRLOGGER_FOUND) - set(FAIR_LIBS - ${FAIR_LIBS} - FairLogger - ) -EndIf() +set(PUBLIC_DEPS + CbmData + CbmFlibMcbm2018 + CbmMQBase + FairRoot::ParBase + ROOT::Core + Boost::program_options + L1 + ) -# Dependencies common to all executables -set(DEPENDENCIES_ALL - ${DEPENDENCIES} - ${FAIR_LIBS} - ${BOOST_LIBS} -) +set(PRIVATE_DEPS + CbmFlibFlesTools + CbmMuchReco + CbmPsdReco + CbmRecoSts + CbmRichReco + CbmSimSteer + CbmTofReco + CbmTrdReco + CbmEventBuilder + FairMQ::Tools + FairRoot::Base + ROOT::Gpad + ROOT::Hist + ROOT::RIO + ) + +set(INTERFACE_DEPS + FairMQ::FairMQ + external::fles_ipc + ) set(EXE_NAME McbmUnpack) set(SRCS CbmDeviceMcbmUnpack.cxx runMcbmUnpack.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmFlibMcbm2018 - CbmFlibFlesTools - CbmBase - CbmData - Core - RIO - Net - Hist - RHTTP -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() set(EXE_NAME McbmMonitorPulser) set(SRCS CbmDeviceMcbmMonitorPulser.cxx runMcbmMonitorPulser.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmFlibMcbm2018 - CbmFlibFlesTools - CbmBase - CbmData - Core - RIO - Net - Hist - RHTTP -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() set(EXE_NAME BuildRawEvents) set(SRCS CbmDeviceBuildRawEvents.cxx runBuildRawEvents.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - KFParticle - CbmFlibMcbm2018 - CbmFlibFlesTools - CbmEventBuilder - KF - L1 - CbmBase - CbmData - CbmTofBase - CbmSimBase - Core - RIO - Net - Hist - RHTTP -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() set(EXE_NAME McbmEventBuilderWin) set(SRCS CbmDeviceMcbmEventBuilderWin.cxx runMcbmEvtBuilderWin.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmFlibMcbm2018 - CbmFlibFlesTools - CbmBase - CbmData - Core - RIO - Net - Hist - RHTTP -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() set(EXE_NAME McbmEventSink) set(SRCS CbmDeviceMcbmEventSink.cxx runMcbmEventSink.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmFlibMcbm2018 - CbmFlibFlesTools - CbmBase - CbmData - Core - RIO - Tree - Net - Hist - RHTTP -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() set(EXE_NAME MqUnpack) set(SRCS CbmDeviceUnpack.cxx runUnpack.cxx) -set(DEPENDENCIES - ${DEPENDENCIES} - ${FAIR_LIBS} - ParBase - ${BOOST_LIBS} - external::fles_ipc - CbmFlibFlesTools - CbmBase - CbmRecoBase - CbmMuchReco - CbmPsdReco - CbmRichReco - CbmRecoSts - CbmTofReco - CbmTrdReco - CbmData - CbmSimSteer # for CbmSetup! - Core - RIO - Net - Hist - RHTTP -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() set(EXE_NAME BuildDigiEvents) set(SRCS CbmDeviceBuildDigiEvents.cxx runBuildDigiEvents.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - CbmFlibFlesTools - CbmEventBuilder - KF - L1 - CbmBase - CbmRecoBase - CbmData - CbmTofBase - Core - RIO - Net - Hist - RHTTP -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() set(EXE_NAME DigiEventSink) set(SRCS CbmDeviceDigiEventSink.cxx runDigiEventSink.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmFlibMcbm2018 - CbmFlibFlesTools - CbmBase - CbmData - Core - Gpad - Hist - Net - RHTTP - RIO - Tree -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() set(EXE_NAME BmonMonitor) set(SRCS CbmDeviceBmonMonitor.cxx runBmonMonitor.cxx) -set(DEPENDENCIES - ${DEPENDENCIES} - ${FAIR_LIBS} - ParBase - ${BOOST_LIBS} - external::fles_ipc - CbmFlibFlesTools - CbmBase - CbmRecoBase - CbmMuchReco - CbmPsdReco - CbmRichReco - CbmRecoSts - CbmTofReco - CbmTrdReco - CbmData - CbmSimSteer # for CbmSetup! - Core - RIO - Net - Hist - RHTTP -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() # Set the correct variables for the installation set(VMCWORKDIR ${CMAKE_INSTALL_PREFIX}/share/cbmroot) diff --git a/MQ/parmq/CMakeLists.txt b/MQ/parmq/CMakeLists.txt index c2eceec7ec..5326546a5f 100644 --- a/MQ/parmq/CMakeLists.txt +++ b/MQ/parmq/CMakeLists.txt @@ -1,89 +1,34 @@ -Set(INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/MQ/base - ${CBMDATA_DIR} # For CbmDefs, needed by CbmSetup - ${CBMROOT_SOURCE_DIR}/sim/transport/steer # For CbmSetup.h! - ${CBMROOT_SOURCE_DIR}/sim/transport/geosetup # For CbmGeoSetupDbProvider.h, needed by CbmSetup -) - -Set(SYSTEM_INCLUDE_DIRECTORIES - ${SYSTEM_INCLUDE_DIRECTORIES} - ${FAIRROOT_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR}/options - ${Boost_INCLUDE_DIR} - ${ZeroMQ_INCLUDE_DIR} - ${FAIRLOGGER_INCLUDE_DIR} # For CbmSetup.h! -) - -Include_Directories(${INCLUDE_DIRECTORIES}) -Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) - -Set(LINK_DIRECTORIES - ${Boost_LIBRARY_DIRS} - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} -) - -Link_Directories(${LINK_DIRECTORIES}) +set(INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + ) # Set the install path within the build directory set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/parmq") # Set the install path within the installation directory set(BIN_DESTINATION bin/MQ/parmq) -Set(BOOST_LIBS - ${Boost_SYSTEM_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_LOG_LIBRARY} - RIO -) + If(UNIX AND NOT APPLE) List(APPEND BOOST_LIBS pthread) EndIf() -set(FAIR_LIBS - Base - ParBase - ${FAIRMQ_LIBS} - Gen -) -If(FAIRLOGGER_FOUND) - set(FAIR_LIBS - ${FAIR_LIBS} - FairLogger - ) -EndIf() - -# Dependencies common to all executables -set(DEPENDENCIES_ALL - ${DEPENDENCIES} - ${FAIR_LIBS} - ${BOOST_LIBS} -) - -Set(EXE_NAME parmq-server) -Set(SRCS - ParameterMQServer.cxx - runParameterMQServer.cxx +set(EXE_NAME parmq-server) +set(SRCS ParameterMQServer.cxx runParameterMQServer.cxx # CbmMQTestContFact.cxx -) - -Set(DEPENDENCIES - ${DEPENDENCIES_ALL} - Core - Net - Geom - CbmBase - CbmData - CbmField - CbmTofBase - CbmStsBase - CbmStsSim - CbmSimBase - CbmSimSteer # for CbmSetup! - CbmFlibMcbm2018 -) -GENERATE_EXECUTABLE() + ) +set(PRIVATE_DEPENDENCIES + CbmMQBase + CbmSimSteer + FairMQ::Tools + FairRoot::ParBase + ROOT::Core + ROOT::Geom + ROOT::Net + ) + +set(INTERFACE_DEPENDENCIES + FairMQ::FairMQ + ) + +generate_cbm_executable() diff --git a/MQ/sink/CMakeLists.txt b/MQ/sink/CMakeLists.txt index c049540492..2987aada8f 100644 --- a/MQ/sink/CMakeLists.txt +++ b/MQ/sink/CMakeLists.txt @@ -1,81 +1,46 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerSink.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerSink.sh) set(INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/MQ/base -) - -Set(SYSTEM_INCLUDE_DIRECTORIES - ${SYSTEM_INCLUDE_DIRECTORIES} - ${ZeroMQ_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} - ${FAIRROOT_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR}/options - - ${FLES_IPC_INCLUDE_DIRECTORY} - ${CBMROOT_SOURCE_DIR}/external/cppzmq -) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) - -set(LINK_DIRECTORIES - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${Boost_LIBRARY_DIRS} -) - -link_directories(${LINK_DIRECTORIES}) - + ${CMAKE_CURRENT_SOURCE_DIR} + ) + # Set the install path within the build directory set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/sink") # Set the install path within the installation directory set(BIN_DESTINATION bin/MQ/sink) -Set(BOOST_LIBS - ${Boost_SYSTEM_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_LOG_LIBRARY} -) + If(UNIX AND NOT APPLE) List(APPEND BOOST_LIBS pthread) EndIf() -set(FAIR_LIBS - ${FAIRMQ_LIBS} -) - -If(FAIRLOGGER_FOUND) - set(FAIR_LIBS - ${FAIR_LIBS} - FairLogger - ) -EndIf() +set(PRIVATE_DEPS + CbmMQBase + FairMQ::Tools + external::fles_ipc + ) -# Dependencies common to all executables -set(DEPENDENCIES_ALL - ${DEPENDENCIES} - ${FAIR_LIBS} - ${BOOST_LIBS} -) +set(INTERFACE_DEPS + FairMQ::FairMQ + ) set(EXE_NAME DevNullSink) set(SRCS CbmDevNullSink.cxx runDevNullSink.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc -) -GENERATE_EXECUTABLE() + +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() + set(EXE_NAME TsaComponentSink) set(SRCS CbmTsaComponentSink.cxx runTsaComponentSink.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc -) -GENERATE_EXECUTABLE() + +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + +generate_cbm_executable() + # Install scripts and input file if(EXISTS ${VMCWORKDIR}/input/tofget4_hd2018.tsa) diff --git a/MQ/source/CMakeLists.txt b/MQ/source/CMakeLists.txt index 10daebc292..5bf553df75 100644 --- a/MQ/source/CMakeLists.txt +++ b/MQ/source/CMakeLists.txt @@ -2,190 +2,111 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQInfo.sh.in ${CMAKE_BINARY_DIR} configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSampler.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSampler.sh) set(INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/MQ/base - ${CBMROOT_SOURCE_DIR}/fles/flestools - ${CBMBASE_DIR} - ${CBMDATA_DIR} - ${CBMDATA_DIR}/base - ${CBMDATA_DIR}/mvd - ${CBMDATA_DIR}/sts - ${CBMDATA_DIR}/rich - ${CBMDATA_DIR}/much - ${CBMDATA_DIR}/trd - ${CBMDATA_DIR}/tof - ${CBMDATA_DIR}/psd -) - -Set(SYSTEM_INCLUDE_DIRECTORIES - ${BASE_INCLUDE_DIRECTORIES} - ${SYSTEM_INCLUDE_DIRECTORIES} - ${ZeroMQ_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} - ${FAIRROOT_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR}/options - ${VMC_INCLUDE_DIRS} - ${FAIRLOGGER_INCLUDE_DIR} - - ${FLES_IPC_INCLUDE_DIRECTORY} - ${FLES_LOGGING_INCLUDE_DIRECTORY} - ${CBMROOT_SOURCE_DIR}/external/cppzmq -) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) - -set(LINK_DIRECTORIES - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${Boost_LIBRARY_DIRS} -) - -link_directories(${LINK_DIRECTORIES}) + ${CMAKE_CURRENT_SOURCE_DIR} + ) # Set the install path within the build directory set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/source") # Set the install path within the installation directory set(BIN_DESTINATION bin/MQ/source) -Set(BOOST_LIBS - ${Boost_SYSTEM_LIBRARY} - ${Boost_FILESYSTEM_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_LOG_LIBRARY} - ${Boost_LOG_SETUP_LIBRARY} - ${Boost_REGEX_LIBRARY} - ${Boost_THREAD_LIBRARY} -) + If(UNIX AND NOT APPLE) List(APPEND BOOST_LIBS pthread) EndIf() -set(FAIR_LIBS - ${FAIRMQ_LIBS} -) +set(PUBLIC_DEPS + CbmMQBase + ) -If(FAIRLOGGER_FOUND) - set(FAIR_LIBS - ${FAIR_LIBS} - FairLogger - ) -EndIf() +set(PRIVATE_DEPS + CbmBase + CbmData + CbmFlibFlesTools + external::fles_logging + cppzmq + FairMQ::Tools + FairRoot::Base + FairRoot::ParBase + ) -# Dependencies common to all executables -set(DEPENDENCIES_ALL - ${DEPENDENCIES} - ${FAIR_LIBS} - ${BOOST_LIBS} -) +set(INTERFACE_DEPS + FairMQ::FairMQ + ) set(EXE_NAME TsaSampler) set(SRCS CbmMQTsaSampler.cxx runTsaSampler.cxx) -set(DEPENDENCIES - external::fles_ipc - ${DEPENDENCIES_ALL} - CbmMQBase -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + + generate_cbm_executable() set(EXE_NAME MultiTsaSampler) set(SRCS CbmMQTsaMultiSampler.cxx runTsaMultiSampler.cxx) -set(DEPENDENCIES - external::fles_ipc - CbmFlibFlesTools - ${DEPENDENCIES_ALL} - CbmMQBase - Core - Gpad - Hist - Net - RHTTP - RIO -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + + generate_cbm_executable() set(EXE_NAME RepReqTsSampler) set(SRCS CbmMQTsSamplerRepReq.cxx runTsSamplerRepReq.cxx) -set(DEPENDENCIES - external::fles_ipc - CbmFlibFlesTools - ${DEPENDENCIES_ALL} - CbmMQBase - Core - Gpad - Hist - Net - RHTTP - RIO -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + + generate_cbm_executable() set(EXE_NAME TsaSamplerTof) set(SRCS CbmMQTsaSamplerTof.cxx runTsaSamplerTof.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmMQBase -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + + generate_cbm_executable() set(EXE_NAME TsaMultiSamplerTof) set(SRCS CbmMQTsaMultiSamplerTof.cxx runTsaMultiSamplerTof.cxx) -set(DEPENDENCIES - external::fles_ipc - ${DEPENDENCIES_ALL} - CbmMQBase -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + + generate_cbm_executable() set(EXE_NAME TsaInfo) set(SRCS CbmMQTsaInfo.cxx runTsaInfo.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmMQBase -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + + generate_cbm_executable() set(EXE_NAME StsDigiSource) set(SRCS CbmStsDigiSource.cxx runStsDigiSource.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - CbmBase - Core - CbmMQBase -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + + generate_cbm_executable() set(EXE_NAME MCPointSource) set(SRCS CbmMCPointSource.cxx runMCPointSource.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - CbmBase - Core - CbmMQBase -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + + generate_cbm_executable() set(EXE_NAME TsConsumerReqExample) set(SRCS CbmTsConsumerReqDevExample.cxx runTsConsumerReqExample.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmMQBase - CbmFlibFlesTools - Core - Gpad - Hist - Net - RHTTP - RIO -) -GENERATE_EXECUTABLE() +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) + + generate_cbm_executable() # Install scripts and input file if(EXISTS ${VMCWORKDIR}/input/tofget4_hd2018.tsa) diff --git a/MQ/unpacker/CMakeLists.txt b/MQ/unpacker/CMakeLists.txt index 50b34ee200..41f190f8bf 100644 --- a/MQ/unpacker/CMakeLists.txt +++ b/MQ/unpacker/CMakeLists.txt @@ -1,116 +1,54 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerUnpackerParserver.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerUnpackerParserver.sh) set(INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_SOURCE_DIR} - ${BASE_INCLUDE_DIRECTORIES} - ${CBMROOT_SOURCE_DIR}/MQ/base -# ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/parameter - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/dataformat - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/unpacker - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/commonMQ - ${CBMROOT_SOURCE_DIR}/reco/base - ${CBMROOT_SOURCE_DIR}/reco/detectors/tof/unpack - - ${CBMDATA_DIR} - ${CBMDATA_DIR}/raw - ${CBMDATA_DIR}/tof - - ${CBMBASE_DIR} - - ${CBMDETECTORBASE_DIR}/tof -) - -Set(SYSTEM_INCLUDE_DIRECTORIES - ${SYSTEM_INCLUDE_DIRECTORIES} - ${ZeroMQ_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} - ${FAIRROOT_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR}/options - - ${FLES_IPC_INCLUDE_DIRECTORY} - ${CBMROOT_SOURCE_DIR}/external/cppzmq -) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) - -set(LINK_DIRECTORIES - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${Boost_LIBRARY_DIRS} -) - -link_directories(${LINK_DIRECTORIES}) + ${CMAKE_CURRENT_SOURCE_DIR} + ) set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/unpacker") +# set the install dir +set(BIN_DESTINATION bin/MQ/unpacker) -Set(BOOST_LIBS - ${Boost_SYSTEM_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_LOG_LIBRARY} -) If(UNIX AND NOT APPLE) List(APPEND BOOST_LIBS pthread) EndIf() -set(FAIR_LIBS - Base - ParBase - ${FAIRMQ_LIBS} -) - -If(FAIRLOGGER_FOUND) - set(FAIR_LIBS - ${FAIR_LIBS} - FairLogger - ) -EndIf() +set(PUBLIC_DEPS + CbmData + CbmMQBase + CbmTofBase + CbmTofReco + ) -# Dependencies common to all executables -set(DEPENDENCIES_ALL - ${DEPENDENCIES} - ${FAIR_LIBS} - ${BOOST_LIBS} -) +set(PRIVATE_DEPS + CbmBase + CbmFlibMcbm2018 + FairLogger::FairLogger + FairMQ::Tools + FairRoot::ParBase + ROOT::Hist + external::fles_ipc + ROOT::Net + ) + +set(INTERFACE_DEPS + FairMQ::FairMQ + ) set(EXE_NAME UnpackTofMcbm2018) set(SRCS CbmTbDaqBuffer.cxx CbmDeviceUnpackTofMcbm2018.cxx runUnpackTofMcbm2018.cxx) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmFlibMcbm2018 - CbmTofBase - CbmBase -# CbmBeamtimeBase - CbmData - Core - RIO - Net - Hist -) +generate_cbm_executable() set(EXE_NAME UnpackTofCri) set(SRCS CbmTbDaqBuffer.cxx CbmDeviceUnpackTofCri.cxx runUnpackTofCri.cxx) -set(DEPENDENCIES - ${DEPENDENCIES_ALL} - external::fles_ipc - CbmFlibMcbm2018 - CbmTofBase - CbmBase - CbmData - CbmTofReco - Core - RIO - Net - Hist -) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) -# set the install dir -set(BIN_DESTINATION bin/MQ/unpacker) -GENERATE_EXECUTABLE() +generate_cbm_executable() # Install script and input file(s) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/MapTofHdCosmics_v18d.par -- GitLab