From a63e8459f16c3f6fa2797d88b0ca2decc3c93b5d Mon Sep 17 00:00:00 2001 From: Omveer Singh <o.singh@lx-pool.gsi.de> Date: Fri, 4 Nov 2022 13:10:56 +0100 Subject: [PATCH] Transition to Modern CMake Gtest and GtestMain Target created which depend on GTEST target Remaining files which haven't been changed in modern cmake. MQ/monitor : Transition in Modern CMake core/data/test: Transition to Modern CMake reco/qa: Transition to Modern CMake tutorial/TaskToAlgo: Transition to modern CMake --- MQ/monitor/CMakeLists.txt | 178 ++++++++------------------- core/data/test/CMakeLists.txt | 145 +++++++++------------- core/data/test/global/CMakeLists.txt | 76 +++++------- core/data/test/psd/CMakeLists.txt | 70 +++++------ core/data/test/trd/CMakeLists.txt | 73 +++++------ external/InstallGtest.cmake | 16 ++- reco/qa/CMakeLists.txt | 112 ++++------------- tutorials/TaskToAlgo/CMakeLists.txt | 127 +++++++------------ 8 files changed, 282 insertions(+), 515 deletions(-) diff --git a/MQ/monitor/CMakeLists.txt b/MQ/monitor/CMakeLists.txt index 455fb491b6..29d51c7f8c 100644 --- a/MQ/monitor/CMakeLists.txt +++ b/MQ/monitor/CMakeLists.txt @@ -7,168 +7,86 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerPsdMonitor2021.sh.in ${ set(INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/MQ/base - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/monitor - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/parameter - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/dataformat - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/commonMQ - ${CBMROOT_SOURCE_DIR}/fles/flestools - ${CBMDATA_DIR} - ${CBMDATA_DIR}/tof - ${CBMDATA_DIR}/psd - ${CBMDATA_DIR}/raw - ${CBMBASE_DIR} - - ${CBMDETECTORBASE_DIR}/psd -) - -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} - ${FAIRMQ_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/monitor") # Set the install path within the installation directory set(BIN_DESTINATION bin/MQ/monitor) -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} -) +set(PUBLIC_DEPS + CbmMQBase + ROOT::Core + ) + +set(PRIVATE_DEPS + CbmFlibFlesTools + CbmFlibMcbm2018 + FairMQ::Tools + FairRoot::ParBase + ROOT::Gpad + ROOT::Hist + ROOT::RIO + ) + +set(INTERFACE_DEPS + FairMQ::FairMQ + external::fles_ipc + ) -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 T0MonitorMcbm2018) set(SRCS CbmDeviceMonitorT0.cxx runMonitorT0.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 TofMonitorMcbm2018) set(SRCS CbmDeviceMonitorTof.cxx runMonitorTof.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 T0MonitorReqMcbm) set(SRCS CbmDeviceMonitorReqT0.cxx runMonitorReqT0.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 TofMonitorReqMcbm) set(SRCS CbmDeviceMonitorReqTof.cxx runMonitorReqTof.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 PsdMonitorMcbm2018) set(SRCS CbmDeviceMonitorPsd.cxx runMonitorPsd.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() # Install scripts and input file if(EXISTS ${VMCWORKDIR}/input/tofget4_hd2018.tsa) diff --git a/core/data/test/CMakeLists.txt b/core/data/test/CMakeLists.txt index 87e7d2562f..b213044a86 100644 --- a/core/data/test/CMakeLists.txt +++ b/core/data/test/CMakeLists.txt @@ -1,13 +1,11 @@ -Macro(CreateGTestExeAndAddTest _testname _includeDirs _linkDirs _sources _dependencies _testdepend) +Macro(CreateGTestExeAndAddTest _testname _includeDirs _linkDirs _sources _pub_dep _pvt_dep _int_dep _testdepend) - Include_Directories(SYSTEM "${_includeDirs}") - Link_Directories(${_linkDirs}) - - Add_Executable(${_testname} ${_sources}) + add_executable(${_testname} ${_sources}) if(CBM_LOCAL_GTEST) - Add_Dependencies(${_testname} GTEST) + add_dependencies(${_testname} GTEST) endif() - Target_Link_Libraries(${_testname} ${_dependencies}) + target_link_libraries(${_testname} PUBLIC ${_pub_dep} PRIVATE ${_pvt_dep} INTERFACE ${_int_dep} ) + target_include_directories(${_testname} PUBLIC ${_includeDirs}) Gen_Exe_Script(${_testname}) string(REPLACE ${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR} new_path ${CMAKE_CURRENT_SOURCE_DIR} @@ -18,66 +16,43 @@ Macro(CreateGTestExeAndAddTest _testname _includeDirs _linkDirs _sources _depend EndIf() EndMacro(CreateGTestExeAndAddTest) -FIND_PACKAGE(Threads REQUIRED) add_subdirectory(global) add_subdirectory(psd) add_subdirectory(trd) -Set(INCLUDE_DIRECTORIES - ${CBMBASE_DIR} - ${CBMDATA_DIR} - ${CBMDATA_DIR}/base - ${CBMDATA_DIR}/global - ${CBMDATA_DIR}/sts - ${CBMDATA_DIR}/tof - ${CBMDATA_DIR}/rich - ${CBMDATA_DIR}/much - ${CBMDATA_DIR}/test/sts - ${CBMDATA_DIR}/test/global - ${FLES_IPC_INCLUDE_DIRECTORY} - ${BASE_INCLUDE_DIRECTORIES} - ${GTEST_INCLUDE_DIR} +set(INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/.. + ${CMAKE_CURRENT_SOURCE_DIR}/sts + ${CMAKE_CURRENT_SOURCE_DIR}/global ) -MESSAGE("FAIRROOT_LIBRARY_DIR: ${FAIRROOT_LIBRARY_DIR}") -Set(LINK_DIRECTORIES - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${SIMPATH}/lib -) -Set(DEPENDENCIES - Core - Matrix - Physics - ${GTEST_BOTH_LIBRARIES} - FairTools +set(PUB_DEPS CbmData - Base - ParBase - GeoBase - MbsAPI - ${CMAKE_THREAD_LIBS_INIT} - boost_serialization -) + Gtest + GtestMain + ROOT::Physics + ) + +set(PVT_DEPS + CbmTrdBase + NicaCbmFormat + ROOT::Core + ROOT::Matrix + ROOT::EG + ) + +set(INT_DEPS + FairRoot::Base + external::fles_ipc + xpu + VMCLibrary + ) -set(SPECIAL_DEPENDENCIES - ${GTEST_BOTH_LIBRARIES} - FairTools -) -If(FAIRLOGGER_FOUND) - set(DEPENDENCIES - ${DEPENDENCIES} - FairLogger - ) - set(SPECIAL_DEPENDENCIES - ${SPECIAL_DEPENDENCIES} - FairLogger - ) -EndIf() if (CMAKE_SYSTEM_NAME MATCHES Linux) set(DEPENDENCIES ${DEPENDENCIES} rt) @@ -86,61 +61,61 @@ endif() Set(CbmLinkSources - ${CBMDATA_DIR}/CbmLink.cxx + ../CbmLink.cxx _GTestCbmLink.cxx ) CreateGTestExeAndAddTest(_GTestCbmLink "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmLinkSources}" "${DEPENDENCIES}" "") + "${CbmLinkSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "") Set(CbmMatchSources - ${CBMDATA_DIR}/CbmMatch.cxx + ../CbmMatch.cxx _GTestCbmMatch.cxx ) CreateGTestExeAndAddTest(_GTestCbmMatch "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmMatchSources}" "${DEPENDENCIES}" "_GTestCbmLink") + "${CbmMatchSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmLink") Set(CbmClusterSources - ${CBMDATA_DIR}/CbmCluster.cxx + ../CbmCluster.cxx _GTestCbmCluster.cxx ) CreateGTestExeAndAddTest(_GTestCbmCluster "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmClusterSources}" "${DEPENDENCIES}" "_GTestCbmDigi") + "${CbmClusterSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmDigi") Set(CbmHitSources - ${CBMDATA_DIR}/CbmHit.cxx + ../CbmHit.cxx _GTestCbmHit.cxx ) CreateGTestExeAndAddTest(_GTestCbmHit "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmHitSources}" "${DEPENDENCIES}" "_GTestCbmCluster") + "${CbmHitSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmCluster") Set(CbmPixelHitSources - ${CBMDATA_DIR}/CbmPixelHit.cxx + ../CbmPixelHit.cxx _GTestCbmPixelHit.cxx ) CreateGTestExeAndAddTest(_GTestCbmPixelHit "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmPixelHitSources}" "${DEPENDENCIES}" "_GTestCbmHit") + "${CbmPixelHitSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmHit") Set(CbmStripHitSources - ${CBMDATA_DIR}/CbmStripHit.cxx + ../CbmStripHit.cxx _GTestCbmStripHit.cxx ) CreateGTestExeAndAddTest(_GTestCbmStripHit "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmStripHitSources}" "${DEPENDENCIES}" "_GTestCbmPixelHit") + "${CbmStripHitSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmPixelHit") Set(CbmEventSources - ${CBMDATA_DIR}/CbmEvent.cxx + ../CbmEvent.cxx _GTestCbmEvent.cxx ) CreateGTestExeAndAddTest(_GTestCbmEvent "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmEventSources}" "${DEPENDENCIES}" "_GTestCbmStripHit") + "${CbmEventSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmStripHit") Set(CbmConstantsSources @@ -148,24 +123,24 @@ Set(CbmConstantsSources ) CreateGTestExeAndAddTest(_GTestCbmConstants "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmConstantsSources}" "${GTEST_BOTH_LIBRARIES};-pthread" "_GTestCbmEvent") + "${CbmConstantsSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmEvent") Set(CbmErrorMessageSources - ${CBMDATA_DIR}/CbmErrorMessage.cxx + ../CbmErrorMessage.cxx _GTestCbmErrorMessage.cxx ) CreateGTestExeAndAddTest(_GTestCbmErrorMessage "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmErrorMessageSources}" "${DEPENDENCIES};-pthread" "_GTestCbmConstants") + "${CbmErrorMessageSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmConstants") Set(CbmAddressSources - ${CBMDATA_DIR}/CbmAddress.cxx + ../CbmAddress.cxx _GTestCbmAddress.cxx ) CreateGTestExeAndAddTest(_GTestCbmAddress "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmAddressSources}" "${DEPENDENCIES}" "_GTestCbmErrorMessage") + "${CbmAddressSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmErrorMessage") @@ -175,49 +150,49 @@ CreateGTestExeAndAddTest(_GTestCbmAddress "${INCLUDE_DIRECTORIES}" "${LINK_DIREC #) # #CreateGTestExeAndAddTest(_GTestCbmModuleList "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" -# "${CbmModuleListSources}" "${DEPENDENCIES}" "_GTestCbmVertex") +# "${CbmModuleListSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmVertex") Set(CbmStsDigiSources - ${CBMDATA_DIR}/sts/CbmStsDigi.cxx + ../sts/CbmStsDigi.cxx sts/_GTestCbmStsDigi.cxx ) CreateGTestExeAndAddTest(_GTestCbmStsDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmStsDigiSources}" "${DEPENDENCIES}" "_GTestCbmVertex") + "${CbmStsDigiSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmVertex") Set(CbmTofDigiSources - ${CBMDATA_DIR}/tof/CbmTofDigi.cxx + ../tof/CbmTofDigi.cxx tof/_GTestCbmTofDigi.cxx ) CreateGTestExeAndAddTest(_GTestCbmTofDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmTofDigiSources}" "${DEPENDENCIES}" "_GTestStsDigi") + "${CbmTofDigiSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestStsDigi") Set(CbmRichDigiSources - ${CBMDATA_DIR}/rich/CbmRichDigi.cxx + ../rich/CbmRichDigi.cxx rich/_GTestCbmRichDigi.cxx ) CreateGTestExeAndAddTest(_GTestCbmRichDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmRichDigiSources}" "${DEPENDENCIES}" "_GTestTofDigi") + "${CbmRichDigiSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestTofDigi") Set(CbmMuchDigiSources - ${CBMDATA_DIR}/much/CbmMuchDigi.cxx + ../much/CbmMuchDigi.cxx much/_GTestCbmMuchDigi.cxx ) CreateGTestExeAndAddTest(_GTestCbmMuchDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmMuchDigiSources}" "${DEPENDENCIES}" "_GTesRichDigi") + "${CbmMuchDigiSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTesRichDigi") Set(CbmMuchBeamTimeDigiSources - ${CBMDATA_DIR}/much/CbmMuchBeamTimeDigi.cxx + ../much/CbmMuchBeamTimeDigi.cxx much/_GTestCbmMuchBeamTimeDigi.cxx ) CreateGTestExeAndAddTest(_GTestCbmMuchBeamTimeDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmMuchBeamTimeDigiSources}" "${DEPENDENCIES}" "_GTestMuchDigi") + "${CbmMuchBeamTimeDigiSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestMuchDigi") #GENERATE_ROOT_TEST_SCRIPT(${CMAKE_SOURCE_DIR}/test/cbmdata/load_all_libs.C) # Add_Test(load_all_libs diff --git a/core/data/test/global/CMakeLists.txt b/core/data/test/global/CMakeLists.txt index 247d73ea36..2d0fb8b0e0 100644 --- a/core/data/test/global/CMakeLists.txt +++ b/core/data/test/global/CMakeLists.txt @@ -1,60 +1,42 @@ # --- CMake steering file for core/data/test/global # --- V. Friese, 2021 -Set(INCLUDE_DIRECTORIES - ${CBMDATA_DIR} - ${CBMDATA_DIR}/base - ${CBMDATA_DIR}/global - ${CBMDATA_DIR}/sts - ${CBMDATA_DIR}/much - ${CBMDATA_DIR}/rich - ${CBMDATA_DIR}/tof - ${CBMDATA_DIR}/psd - ${CBMDATA_DIR}/trd - ${CBMDATA_DIR}/mvd - ${CBMDATA_DIR}/test/sts - ${FLES_IPC_INCLUDE_DIRECTORY} - ${BASE_INCLUDE_DIRECTORIES} - ${GTEST_INCLUDE_DIR} -) - -MESSAGE("FAIRROOT_LIBRARY_DIR: ${FAIRROOT_LIBRARY_DIR}") -Set(LINK_DIRECTORIES - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${SIMPATH}/lib -) +set(INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/../sts + ) -Set(DEPENDENCIES - Core - Matrix - Physics - ${GTEST_BOTH_LIBRARIES} - FairTools +set(PUB_DEPS CbmData - boost_serialization - ${CMAKE_THREAD_LIBS_INIT} -) - -If(FAIRLOGGER_FOUND) - set(DEPENDENCIES - ${DEPENDENCIES} - FairLogger - ) -EndIf() - -if (CMAKE_SYSTEM_NAME MATCHES Linux) - set(DEPENDENCIES ${DEPENDENCIES} rt) -endif() - + Gtest + GtestMain + ROOT::Physics + ) + +set(PVT_DEPS + CbmTrdBase + NicaCbmFormat + ROOT::Core + ROOT::Matrix + ROOT::EG + VMCLibrary + ) + +set(INT_DEPS + FairRoot::Base + external::fles_ipc + xpu + ) + + # --- Test CbmDigiEvent Set(CbmDigiEventSources ${CBMDATA_DIR}/global/CbmDigiEvent.h _GTestCbmDigiEvent.cxx ) CreateGTestExeAndAddTest(_GTestCbmDigiEvent "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmDigiEventSources}" "${DEPENDENCIES}" "") + "${CbmDigiEventSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "") # --- Test CbmDigiTimeslice Set(CbmDigiTimesliceSources @@ -62,7 +44,7 @@ Set(CbmDigiTimesliceSources _GTestCbmDigiTimeslice.cxx ) CreateGTestExeAndAddTest(_GTestCbmDigiTimeslice "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmDigiTimesliceSources}" "${DEPENDENCIES}" "_GTestCbmDigiEvent") + "${CbmDigiTimesliceSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmDigiEvent") # --- Test CbmVertex Set(CbmVertexSources @@ -70,6 +52,6 @@ Set(CbmVertexSources _GTestCbmVertex.cxx ) CreateGTestExeAndAddTest(_GTestCbmVertex "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmVertexSources}" "${DEPENDENCIES}" "_GTestCbmDigiTimeslice") + "${CbmVertexSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmDigiTimeslice") diff --git a/core/data/test/psd/CMakeLists.txt b/core/data/test/psd/CMakeLists.txt index a7494f9e7f..702935da9a 100644 --- a/core/data/test/psd/CMakeLists.txt +++ b/core/data/test/psd/CMakeLists.txt @@ -1,46 +1,38 @@ -Set(INCLUDE_DIRECTORIES - ${CBMDATA_DIR} - ${CBMDATA_DIR}/psd - ${CBMDATA_DIR}/test - ${BASE_INCLUDE_DIRECTORIES} - ${GTEST_INCLUDE_DIR} -) - -MESSAGE("FAIRROOT_LIBRARY_DIR: ${FAIRROOT_LIBRARY_DIR}") -Set(LINK_DIRECTORIES - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${SIMPATH}/lib -) - - -Set(DEPENDENCIES - Core - Physics - ${GTEST_BOTH_LIBRARIES} - FairTools +set(INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/.. + ) + +set(PUB_DEPS CbmData - ${CMAKE_THREAD_LIBS_INIT} -) - -If(FAIRLOGGER_FOUND) - set(DEPENDENCIES - ${DEPENDENCIES} - FairLogger - ) -EndIf() - -if (CMAKE_SYSTEM_NAME MATCHES Linux) - set(DEPENDENCIES ${DEPENDENCIES} rt) -endif() - + Gtest + GtestMain + ROOT::Physics + ) + +set(PVT_DEPS + CbmTrdBase + NicaCbmFormat + ROOT::Core + ROOT::Matrix + ROOT::EG + ) + +set(INT_DEPS + FairRoot::Base + external::fles_ipc + xpu + VMCLibrary + ) + + Set(CbmPsdDigiSources ${CBMDATA_DIR}/psd/CbmPsdDigi.cxx _GTestCbmPsdDigi.cxx ) CreateGTestExeAndAddTest(_GTestCbmPsdDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmPsdDigiSources}" "${DEPENDENCIES}" "") + "${CbmPsdDigiSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "") Set(CbmPsdAddressSources ${CBMDATA_DIR}/psd/CbmPsdAddress.cxx @@ -48,7 +40,7 @@ Set(CbmPsdAddressSources ) CreateGTestExeAndAddTest(_GTestCbmPsdAddress "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmPsdAddressSources}" "${DEPENDENCIES}" "_GTestPsdDigi") + "${CbmPsdAddressSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestPsdDigi") Set(CbmPsdPointSources ${CBMDATA_DIR}/psd/CbmPsdPoint.cxx @@ -56,11 +48,11 @@ Set(CbmPsdPointSources ) CreateGTestExeAndAddTest(_GTestCbmPsdPoint "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmPsdPointSources}" "${DEPENDENCIES}" "_GTestPsdAddress") + "${CbmPsdPointSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestPsdAddress") Set(CbmPsdHitSources ${CBMDATA_DIR}/psd/CbmPsdHit.cxx _GTestCbmPsdHit.cxx ) CreateGTestExeAndAddTest(_GTestCbmPsdHit "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmPsdHitSources}" "${DEPENDENCIES}" "_GTestPsdPoint") + "${CbmPsdHitSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestPsdPoint") diff --git a/core/data/test/trd/CMakeLists.txt b/core/data/test/trd/CMakeLists.txt index 67e8df8c6f..f464d27969 100644 --- a/core/data/test/trd/CMakeLists.txt +++ b/core/data/test/trd/CMakeLists.txt @@ -1,48 +1,39 @@ -Set(INCLUDE_DIRECTORIES - ${CBMDATA_DIR} - ${CBMDATA_DIR}/trd - ${CBMDATA_DIR}/test - ${BASE_INCLUDE_DIRECTORIES} - ${GTEST_INCLUDE_DIR} -) - -MESSAGE("FAIRROOT_LIBRARY_DIR: ${FAIRROOT_LIBRARY_DIR}") -Set(LINK_DIRECTORIES - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${SIMPATH}/lib -) +set(INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + ${CBMDATA_DIR}/trd + ${CMAKE_CURRENT_SOURCE_DIR}/.. + ) - -Set(DEPENDENCIES - Core - Physics - ${GTEST_BOTH_LIBRARIES} - FairTools +set(PUB_DEPS CbmData - ${CMAKE_THREAD_LIBS_INIT} -) - -If(FAIRLOGGER_FOUND) - set(DEPENDENCIES - ${DEPENDENCIES} - FairLogger - ) -EndIf() - -if (CMAKE_SYSTEM_NAME MATCHES Linux) - set(DEPENDENCIES ${DEPENDENCIES} rt) -endif() - - - + Gtest + GtestMain + ROOT::Physics + ) + +set(PVT_DEPS + CbmTrdBase + NicaCbmFormat + ROOT::Core + ROOT::Matrix + ROOT::EG + ) + +set(INT_DEPS + FairRoot::Base + external::fles_ipc + xpu + VMCLibrary + ) + + #Set(CbmTrdDetectorIdSources # ${CBMDATA_DIR}/trd/CbmTrdAddress.cxx # _GTestCbmTrdDetectorId.cxx #) #CreateGTestExeAndAddTest(_GTestCbmTrdDetectorId "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" -# "${CbmTrdDetectorIdSources}" "${DEPENDENCIES}" "") +# "${CbmTrdDetectorIdSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "") Set(CbmTrdDigiSources @@ -51,7 +42,7 @@ Set(CbmTrdDigiSources ) CreateGTestExeAndAddTest(_GTestCbmTrdDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmTrdDigiSources}" "${DEPENDENCIES}" "") + "${CbmTrdDigiSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "") #Set(CbmTrdAddressSources # ${CBMDATA_DIR}/trd/CbmTrdAddress.cxx @@ -59,7 +50,7 @@ CreateGTestExeAndAddTest(_GTestCbmTrdDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIREC #) #CreateGTestExeAndAddTest(_GTestCbmTrdAddress "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" -# "${CbmTrdAddressSources}" "${DEPENDENCIES}" "_GTestTrdDigi") +# "${CbmTrdAddressSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestTrdDigi") Set(CbmTrdPointSources ${CBMDATA_DIR}/trd/CbmTrdPoint.cxx @@ -67,7 +58,7 @@ Set(CbmTrdPointSources ) CreateGTestExeAndAddTest(_GTestCbmTrdPoint "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmTrdPointSources}" "${DEPENDENCIES}" "_GTestTrdDigi") + "${CbmTrdPointSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestTrdDigi") Set(CbmTrdHitSources ${CBMDATA_DIR}/trd/CbmTrdHit.cxx @@ -75,4 +66,4 @@ Set(CbmTrdHitSources ) CreateGTestExeAndAddTest(_GTestCbmTrdHit "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" - "${CbmTrdHitSources}" "${DEPENDENCIES}" "_GTestTrdPoint") + "${CbmTrdHitSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestTrdPoint") diff --git a/external/InstallGtest.cmake b/external/InstallGtest.cmake index aa836f92be..49db288c88 100644 --- a/external/InstallGtest.cmake +++ b/external/InstallGtest.cmake @@ -36,10 +36,24 @@ ExternalProject_Add(GTEST INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install ) -add_library(Gtest STATIC IMPORTED) +#[[add_library(Gtest STATIC IMPORTED) set_target_properties(Gtest PROPERTIES IMPORTED_LOCATION ${Gtest_LIBRARY}) +add_dependencies(Gtest GTEST)]] + +add_library(Gtest STATIC IMPORTED GLOBAL) +set_target_properties(Gtest PROPERTIES +IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX} +INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/external/googletest/googletest/include/gtest) add_dependencies(Gtest GTEST) + +add_library(GtestMain STATIC IMPORTED GLOBAL) +set_target_properties(GtestMain PROPERTIES +IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX} +INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/external/googletest/googletest/include/gtest) +add_dependencies(GtestMain GTEST) + +message(STATUS "-----------------${CMAKE_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}") set(GTEST_LIBRARIES gtest) set(GTEST_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include") set(GTEST_LIBRARY ${CMAKE_BINARY_DIR}/${_LIBDIR_DEFAULT}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}) diff --git a/reco/qa/CMakeLists.txt b/reco/qa/CMakeLists.txt index d64eef170d..c873204a49 100644 --- a/reco/qa/CMakeLists.txt +++ b/reco/qa/CMakeLists.txt @@ -1,97 +1,31 @@ - - -# ---- Specify include directories ----------------------- set(INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + ) -# This directory -${CBMROOT_SOURCE_DIR}/reco/qa - -# external -${CBMROOT_SOURCE_DIR}/external/xpu/src - -# Reco -${CBMROOT_SOURCE_DIR}/reco/base - -#QA -${CBMROOT_SOURCE_DIR}/core/qa - -# Base -${CBMBASE_DIR} - -# Data -${CBMDATA_DIR} -${CBMDATA_DIR}/base -${CBMDATA_DIR}/global -${CBMDATA_DIR}/sts -${CBMDATA_DIR}/raw -${CBMDATA_DIR}/mvd -${CBMDATA_DIR}/much -${CBMDATA_DIR}/trd -${CBMDATA_DIR}/tof - -# MVD -${CBMROOT_SOURCE_DIR}/mvd - -# STS -${CBMDETECTORBASE_DIR}/sts -${CBMDETECTORBASE_DIR}/trd -${CBMROOT_SOURCE_DIR}/reco/detectors/sts -${CBMROOT_SOURCE_DIR}/reco/detectors/sts/unpack -${CBMROOT_SOURCE_DIR}/reco/detectors/sts/qa -${CBMROOT_SOURCE_DIR}/reco/detectors/sts/experimental - -) - -set(SYSTEM_INCLUDE_DIRECTORIES -${BASE_INCLUDE_DIRECTORIES} -${FLES_IPC_INCLUDE_DIRECTORY} # for fles infos for unpacker -) -# ---- End of include directories ------------------------ - - -Set(SYSTEM_INCLUDE_DIRECTORIES - ${BASE_INCLUDE_DIRECTORIES} - ${ROOT_INCLUDE_DIR} -) - -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(SRCS CbmRecoQa.cxx CbmTrackingTrdQa.cxx -) + ) +set(LIBRARY_NAME CbmRecoQa) set(LINKDEF RecoQaLinkDef.h) - -Set(LIBRARY_NAME CbmRecoQa) - -Set(DEPENDENCIES - CbmBase CbmData Base Core Hist - - Base - CbmBase - CbmData - CbmSimSteer -# CbmGeoSetup - CbmTrdBase - CbmMvd - CbmStsBase - CbmRecoBase - CbmRecoSts - CbmQaBase - Core - Hist -) - -GENERATE_LIBRARY() +set(PUBLIC_DEPENDENCIES + CbmBase + CbmData + FairRoot::Base + ROOT::Hist + ROOT::Core + ROOT::RIO + ROOT::Physics + ) + +set(PRIVATE_DEPENDENCIES + CbmTrdBase + CbmQaBase + NicaCbmFormat + ROOT::EG + ROOT::Geom + ) + +generate_cbm_library() diff --git a/tutorials/TaskToAlgo/CMakeLists.txt b/tutorials/TaskToAlgo/CMakeLists.txt index 218a80cef3..f81868e6ad 100644 --- a/tutorials/TaskToAlgo/CMakeLists.txt +++ b/tutorials/TaskToAlgo/CMakeLists.txt @@ -2,109 +2,70 @@ # Last update: V. Friese, 17.02.2014 -# ----- Specify library name -------------------------- -Set(LIBRARY_NAME CbmTaskToAlgoTutorial) -# --------------------------------------------------------- +set(INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + ) -# --- All sources set(SRCS CbmStsHitProducerTaskIdeal.cxx CbmStsHitProducerIdealAlgo.cxx CbmStsHitProducerIdealWrapper.cxx -) + ) set(HEADERS CbmStsHitProducerTaskIdeal.h CbmStsHitProducerIdealWrapper.h -) - -# ----- End of sources --------------------------------- - -# ---- Specify include directories ----------------------- -set(INCLUDE_DIRECTORIES - ${CBMROOT_SOURCE_DIR}/tutorials/TaskToAlgo - ${CBMDATA_DIR} - ${CBMDATA_DIR}/sts - ${CBMDETECTORBASE_DIR}/trd - ${CBMROOT_SOURCE_DIR}/MQ/base -) - -set(SYSTEM_INCLUDE_DIRECTORIES - ${BASE_INCLUDE_DIRECTORIES} - ${ZeroMQ_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} - ${FAIRROOT_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR} - ${FAIRMQ_INCLUDE_DIR}/options -) -# ---- End of include directories ------------------------ - - -# ---- Specify link directories -------------------------- -set(LINK_DIRECTORIES - ${ROOT_LIBRARY_DIR} - ${FAIRROOT_LIBRARY_DIR} - ${FAIRMQ_LIBRARY_DIR} - ${Boost_LIBRARY_DIRS} -) -# ----- End of link directories ------------------------ - - -# ----- Specify library dependences ------------------- -Set(DEPENDENCIES - CbmData CbmTrdBase Base -) -# --------------------------------------------------------- - - -# ----- Specify LinkDef file --------------------------- + ) + +set(LIBRARY_NAME CbmTaskToAlgoTutorial) set(LINKDEF ${LIBRARY_NAME}LinkDef.h) -# --------------------------------------------------------- - +set(PUBLIC_DEPENDENCIES + CbmData + CbmMQBase + FairRoot::Base + ) -# ----- Let cmake do the job --------------------------- -include_directories( ${INCLUDE_DIRECTORIES}) -include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) -link_directories( ${LINK_DIRECTORIES}) -GENERATE_LIBRARY() +set(PRIVATE_DEPENDENCIES + CbmTrdBase + FairMQ::Tools + FairRoot::ParBase + FairLogger::FairLogger + ROOT::Core + ) + +set(INTERFACE_DEPENDENCIES + FairMQ::FairMQ + ROOT::Net + ) + +generate_cbm_library() # --------------------------------------------------------- set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/sts") -Set(BOOST_LIBS - ${Boost_SYSTEM_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} -) - -If(UNIX AND NOT APPLE) - List(APPEND BOOST_LIBS pthread) -EndIf() - -Set(FAIR_LIBS FairMQStateMachine FairMQ) - -If(FAIRLOGGER_FOUND) - set(FAIR_LIBS - ${FAIR_LIBS} - FairLogger - ) -EndIf() - set(EXE_NAME StsHitProducerIdeal) set(SRCS CbmDeviceStsHitProducerIdeal.cxx runStsHitProducerIdeal.cxx) - -set(DEPENDENCIES - ${DEPENDENCIES} - ${FAIR_LIBS} - ${BOOST_LIBS} +set(PUBLIC_DEPENDENCIES + CbmData CbmMQBase CbmTaskToAlgoTutorial + FairRoot::Base + ) + +set(PRIVATE_DEPENDENCIES CbmTrdBase - Core - RIO - Net -) -GENERATE_EXECUTABLE() + FairMQ::Tools + FairRoot::ParBase + FairLogger::FairLogger + ROOT::Core + ) + +set(INTERFACE_DEPENDENCIES + FairMQ::FairMQ + ROOT::Net + ) + +generate_cbm_executable() configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startTest.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startTaskToAlgoTutorial.sh) -- GitLab