Skip to content
Snippets Groups Projects
Commit 7095bcdc authored by Pierre-Alain Loizeau's avatar Pierre-Alain Loizeau
Browse files

[BugFix] Add [KfCore/CaCore/Algo]Offline libraries to remove feed down of...

[BugFix] Add [KfCore/CaCore/Algo]Offline libraries to remove feed down of NO_ROOT flag to libraries in reco folder

- Build AlgoOffline library only if not in CBM_ONLINE_STANDALONE (aka not online container mode)
- Build [Ca/Kf]CoreOffline libs only if not in CBM_ONLINE_STANDALONE (aka not online container mode)
- Use AlgoOffline as dep for libs CbmSimDigitizationSteer CbmAtConverterSteer CbmRecoOfflineSteer
parent 7d7b1a1d
No related branches found
No related tags found
1 merge request!1888Add [KfCore/CaCore/Algo]Offline libraries to remove feed down of NO_ROOT flag and algo log library to libraries in reco folder
......@@ -243,6 +243,76 @@ if (CBM_ONLINE_STANDALONE)
add_subdirectory(../reco/app/cbmreco cbmreco)
endif()
##### Offline version without the NO_ROOT in order to get standard logger! #############################################
if (NOT CBM_ONLINE_STANDALONE)
add_library(AlgoOffline SHARED ${SRCS})
target_include_directories(AlgoOffline
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/data
${CMAKE_CURRENT_SOURCE_DIR}/base
${CMAKE_CURRENT_SOURCE_DIR}/evbuild
${CMAKE_CURRENT_SOURCE_DIR}/global
${CMAKE_CURRENT_SOURCE_DIR}/trigger
${CMAKE_CURRENT_SOURCE_DIR}/evselector
${CMAKE_CURRENT_SOURCE_DIR}/unpack
${CMAKE_CURRENT_SOURCE_DIR}/detectors
${CMAKE_CURRENT_SOURCE_DIR}/qa
${CMAKE_CURRENT_SOURCE_DIR}/qa/unpack
${CMAKE_CURRENT_SOURCE_DIR}/kf
${CMAKE_CURRENT_SOURCE_DIR}/kf/core
${CMAKE_CURRENT_SOURCE_DIR}/kf/core/utils
${CMAKE_CURRENT_SOURCE_DIR}/ca
${CMAKE_CURRENT_SOURCE_DIR}/ca/qa
${CMAKE_CURRENT_SOURCE_DIR}/ca/core/data
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/core/data/global
)
target_link_libraries(AlgoOffline
PUBLIC CbmData
KfCoreOffline
CaCoreOffline
ROOT::GenVector
GSL
fmt::fmt
Boost::program_options
Boost::filesystem
Boost::iostreams
Boost::headers
FairLogger::FairLogger
xpu
external::yaml-cpp
external::fles_logging
external::fles_ipc
external::fles_monitoring
cppzmq
poolstl
)
xpu_attach(AlgoOffline ${DEVICE_SRCS})
# Link against OpenMP if available
if (OpenMP_CXX_FOUND)
target_link_libraries(AlgoOffline PUBLIC OpenMP::OpenMP_CXX)
endif()
# Try to enable parallel execution in c++17 if TBB is available
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
list(APPEND CMAKE_PREFIX_PATH "/opt/intel/oneapi/tbb/latest/")
find_package(TBB)
if (TBB_FOUND)
message(STATUS "AlgoOffline: Found TBB")
target_compile_definitions(AlgoOffline PUBLIC -DHAVE_TBB)
target_link_libraries(AlgoOffline PUBLIC TBB::tbb)
else()
message(STATUS "Algo Offline: TBB not found")
endif()
endif()
install(TARGETS AlgoOffline DESTINATION lib)
endif()
########################################################################################################################
install(TARGETS Algo DESTINATION lib)
install(DIRECTORY base/compat TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY base/yaml TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
......
......@@ -66,6 +66,28 @@ target_link_libraries(CaCore
external::yaml-cpp
)
##### Offline version without the NO_ROOT in order to get standard logger! #############################################
if (NOT CBM_ONLINE_STANDALONE)
add_library(CaCoreOffline SHARED ${SRCS})
target_include_directories(CaCoreOffline
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/data
${CMAKE_CURRENT_SOURCE_DIR}/utils
${CMAKE_CURRENT_SOURCE_DIR}/pars
${CMAKE_CURRENT_SOURCE_DIR}/qa
${CMAKE_CURRENT_SOURCE_DIR}/tracking
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(CaCoreOffline
PUBLIC KfCoreOffline
Boost::serialization
external::yaml-cpp
)
install(TARGETS CaCoreOffline DESTINATION lib)
endif()
########################################################################################################################
install(TARGETS CaCore DESTINATION lib)
install(DIRECTORY utils TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY data TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
......@@ -115,7 +137,7 @@ install(
tracking/CaTrackFinder.h
tracking/CaTrackFinderWindow.h
tracking/CaTrackFitter.h
tracking/CaTripletConstructor.h
tracking/CaTripletConstructor.h
DESTINATION
include/
......
......@@ -7,7 +7,7 @@ set(INCLUDE_DIRECTORIES
${CMAKE_CURRENT_SOURCE_DIR}/utils
)
set(SRCS
set(SRCS
${CMAKE_CURRENT_SOURCE_DIR}/KfFramework.cxx
${CMAKE_CURRENT_SOURCE_DIR}/KfTrackKalmanFilter.cxx
${CMAKE_CURRENT_SOURCE_DIR}/data/KfTrackParam.cxx
......@@ -53,12 +53,37 @@ target_link_libraries(KfCore
PUBLIC Vc::Vc
OnlineDataLog # needed for the logger
external::fles_logging # needed for the logger
external::fles_ipc # needed for the logger
external::fles_ipc # needed for the logger
PRIVATE Boost::serialization
fmt::fmt
external::yaml-cpp
)
##### Offline version without the NO_ROOT in order to get standard logger! #############################################
if (NOT CBM_ONLINE_STANDALONE)
add_library(KfCoreOffline SHARED ${SRCS})
target_include_directories(KfCoreOffline
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/algo
${CMAKE_CURRENT_SOURCE_DIR}/data
${CMAKE_CURRENT_SOURCE_DIR}/geo
${CMAKE_CURRENT_SOURCE_DIR}/pars
${CMAKE_CURRENT_SOURCE_DIR}/utils
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(KfCoreOffline
PUBLIC Vc::Vc
OnlineDataLog # needed for the logger?
FairLogger::FairLogger
PRIVATE Boost::serialization
fmt::fmt
external::yaml-cpp
)
install(TARGETS KfCoreOffline DESTINATION lib)
endif()
########################################################################################################################
install(TARGETS KfCore DESTINATION lib)
install(DIRECTORY kf TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY kf/utils TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
......
......@@ -9,6 +9,8 @@
#include "KfFramework.h"
#include "AlgoFairloggerCompat.h"
using cbm::algo::kf::Framework;
......
......@@ -13,12 +13,30 @@
#endif
#ifdef CBM_ONLINE_USE_FAIRLOGGER
// #warning "Using fair version of Logger" // Keeping in source but commented out until the main problem is resolved
#include <fairlogger/Logger.h>
#define L_(level) LOG(level)
#else
#ifndef LOG
/*
* // Keeping in source but commented out until the main problem is resolved
#warning "Using algo/???? version of Logger"
#if defined(NO_ROOT)
#warning "Reason: NO_ROOT defined"
#endif
#if defined(__NVCC__)
#warning "Reason: __NVCC__ defined"
#endif
#if defined(__HIPCC__)
#warning "Reason: __HIPCC__ defined"
#endif
#if defined(SYCL_LANGUAGE_VERSION)
#warning "Reason: SYCL_LANGUAGE_VERSION defined"
#endif
*/
#include <log.hpp>
static constexpr severity_level warn = severity_level::warning;
......
......@@ -30,7 +30,7 @@ set(PRIVATE_DEPENDENCIES
CbmSimSteer
L1
KF
Algo
AlgoOffline
)
generate_cbm_library()
......@@ -23,29 +23,29 @@ set(SRCS
checker/CbmQaCheckerObjectHandler.cxx
checker/CbmQaCheckerProfile1DHandler.cxx
checker/CbmQaCheckerObjectDB.cxx
report/CbmQaReportBuilder.cxx
report/CbmQaReportBuilder.cxx
report/CbmQaReportBeamerEngine.cxx
report/CbmQaReportLatexEngine.cxx
report/CbmQaReportLatexFormat.cxx
report/CbmQaReportHtmlEngine.cxx
report/CbmQaReportSection.cxx
report/CbmQaReportSection.cxx
report/CbmQaReportTable.cxx
)
set(HEADERS
CbmQaConstants.h
report/CbmQaReportDefines.h
report/CbmQaReportElement.h
report/CbmQaReportEngine.h
report/CbmQaReportFigure.h
report/CbmQaReportHeader.h
report/CbmQaReportDefines.h
report/CbmQaReportElement.h
report/CbmQaReportEngine.h
report/CbmQaReportFigure.h
report/CbmQaReportHeader.h
report/CbmQaReportTail.h
)
set(LIBRARY_NAME CbmQaBase)
set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
set(PUBLIC_DEPENDENCIES
Algo
AlgoOffline
FairRoot::Base
FairLogger::FairLogger
external::yaml-cpp
......@@ -67,7 +67,7 @@ set(INTERFACE_DEPENDENCIES
generate_cbm_library()
Install(FILES
Install(FILES
CbmQaOnlineInterface.h
CbmQaCompare.h
CbmQaManager.h
......@@ -81,18 +81,18 @@ Install(FILES
CbmQaConstants.h
CbmQaCmpDrawer.h
checker/CbmQaCheckerTypedefs.h
report/CbmQaReportDefines.h
report/CbmQaReportDefines.h
report/CbmQaReportBuilder.h
report/CbmQaReportLatexEngine.h
report/CbmQaReportBeamerEngine.h
report/CbmQaReportHtmlEngine.h
report/CbmQaReportSection.h
report/CbmQaReportTable.h
report/CbmQaReportElement.h
report/CbmQaReportEngine.h
report/CbmQaReportFigure.h
report/CbmQaReportHeader.h
report/CbmQaReportElement.h
report/CbmQaReportEngine.h
report/CbmQaReportFigure.h
report/CbmQaReportHeader.h
report/CbmQaReportTail.h
DESTINATION include
)
......
......@@ -18,7 +18,7 @@
#include "TProfile.h"
#include "TProfile2D.h"
#include <log.hpp>
//#include <log.hpp>
#include <type_traits>
namespace
......
......@@ -9,24 +9,24 @@ set(INCLUDE_DIRECTORIES
)
set(SRCS
CbmKF.cxx
CbmKFFieldMath.cxx
CbmKFHit.cxx
CbmKFMaterial.cxx
CbmKFMath.cxx
CbmKFPixelMeasurement.cxx
CbmKFPrimaryVertexFinder.cxx
CbmKFTrackInterface.cxx
CbmKFVertexInterface.cxx
CbmKF.cxx
CbmKFFieldMath.cxx
CbmKFHit.cxx
CbmKFMaterial.cxx
CbmKFMath.cxx
CbmKFPixelMeasurement.cxx
CbmKFPrimaryVertexFinder.cxx
CbmKFTrackInterface.cxx
CbmKFVertexInterface.cxx
CbmKfTrackFitter.cxx
CbmKfFitTracksTask.cxx
Interface/CbmKFStsHit.cxx
Interface/CbmKFTrack.cxx
Interface/CbmKFVertex.cxx
Interface/CbmPVFinderKF.cxx
Interface/CbmPVFinderKFGlobal.cxx
Interface/CbmStsKFTrackFitter.cxx
Interface/CbmKFStsHit.cxx
Interface/CbmKFTrack.cxx
Interface/CbmKFVertex.cxx
Interface/CbmPVFinderKF.cxx
Interface/CbmPVFinderKFGlobal.cxx
Interface/CbmStsKFTrackFitter.cxx
ParticleFitter/CbmL1PFFitter.cxx
)
......@@ -57,11 +57,11 @@ EndIf()
IF (SSE_FOUND)
Message(STATUS "KF will be compiled with SSE support")
ADD_DEFINITIONS(-DHAVE_SSE)
SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS
SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS
"-msse -O3")
ELSE (SSE_FOUND)
MESSAGE(STATUS "KF will be compiled without SSE support")
SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS
SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS
"-O3")
ENDIF (SSE_FOUND)
......@@ -69,7 +69,7 @@ ENDIF (SSE_FOUND)
set(LIBRARY_NAME KF)
set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
set(PUBLIC_DEPENDENCIES
CaCore
CaCoreOffline
CbmBase
CbmData
CbmRecoBase
......
......@@ -144,7 +144,7 @@ set(PUBLIC_DEPENDENCIES
CbmStsBase
CbmTofBase
CbmTrdBase
CaCore
CaCoreOffline
CbmBase
CbmData
CbmQaBase
......@@ -159,7 +159,7 @@ set(PUBLIC_DEPENDENCIES
)
set(PRIVATE_DEPENDENCIES
CbmRecoSts
CbmRecoSts # <==== !!!! was bringing dependency on the "online" version of the Algo library which brought the NO_ROOT flag !!!!!
CbmSimSteer
CbmRecoBase
KfCbm
......
......@@ -51,7 +51,7 @@ set(NO_DICT_SRCS
finder/CbmRichRingFinderHoughImpl.cxx
finder/CbmRichRingFinderHough.cxx
finder/CbmL1RichENNRingFinder.cxx
finder/CbmL1RichENNRingFinderParallel.cxx
finder/CbmL1RichENNRingFinderParallel.cxx
fitter/CbmRichRingFitterCircle.cxx
fitter/CbmRichRingFitterCOP.cxx
......@@ -92,7 +92,7 @@ set(PUBLIC_DEPENDENCIES
CbmBase
CbmData
CbmRichBase
CaCore
CaCoreOffline
L1
Littrack
FairRoot::Base
......
......@@ -35,7 +35,7 @@ set(SRCS
set(LIBRARY_NAME CbmRecoSts)
set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
set(PUBLIC_DEPENDENCIES
Algo
AlgoOffline
CbmData
CbmStsBase
FairRoot::Base
......
......@@ -7,9 +7,9 @@ set(SRCS
Run.cxx
TaskFactory.cxx
)
set(INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR})
if(OpenMP_CXX_FOUND)
list(APPEND DEPENDENCIES OpenMP::OpenMP_CXX)
endif()
......@@ -48,7 +48,7 @@ set(PRIVATE_DEPENDENCIES
CbmSimSteer
L1
KF
Algo
AlgoOffline
)
# Check if the compiler supports std::execution in the respective STL
......
......@@ -40,7 +40,7 @@ set(PUBLIC_DEPENDENCIES
CbmTofBase
CbmRecoSts
FairRoot::Base
Algo
AlgoOffline
ROOT::Core
)
......
......@@ -25,7 +25,7 @@ set(PRIVATE_DEPENDENCIES
ROOT::RHTTP
CbmSimSteer
CbmSimResponse
Algo
AlgoOffline
)
generate_cbm_library()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment