Forked from
LHCb / Moore
7865 commits behind, 2 commits ahead of the upstream repository.
-
Rosen Matev authoredRosen Matev authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CMakeLists.txt 5.19 KiB
################################################################################
# Package: HltCache
################################################################################
gaudi_subdir(HltCache)
gaudi_depends_on_subdirs(Hlt/Moore
Phys/LoKiArrayFunctors
Phys/LoKiHlt
Phys/LoKiPhys
Phys/LoKiAlgo
Phys/LoKiCore
Phys/LoKiTrigger
Phys/TisTosTobbing
Phys/RelatedInfoTools
Hlt/HltDAQ
Hlt/HltRawData
Hlt/HltConf
Hlt/HltTracking
Hlt/HltSettings
Hlt/Hlt1Lines
Hlt/Hlt2Lines
Hlt/HltServices
Hlt/HltLine)
find_package(Boost)
find_package(ROOT)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
option(DISABLE_SETTINGS_CACHE
"Disable building of LoKi Functors Cache for threshold settings."
FALSE)
# TODO Can (and should) we move the to the nightly slot configuration?
if(NOT DISABLE_SETTINGS_CACHE AND NOT ($ENV{CMTCONFIG} STREQUAL $ENV{CMTOPT}))
message(STATUS "Disabling functor cache for settings for debug platform.")
set(DISABLE_SETTINGS_CACHE TRUE)
endif()
# Import the cache creation module
include(LoKiFunctorsCache)
set(conf_deps ${deps} MergedConfDB)
set(LOKI_FUNCTORS_CACHE_POST_ACTION_OPTS
${CMAKE_CURRENT_SOURCE_DIR}/options/LoKiFunctorsCacheHltPostActionOpts.py)
include(tcks.cmake)
foreach(tck ${tcks})
set(option_file ${CMAKE_CURRENT_BINARY_DIR}/options/TCK_${tck}.py)
add_custom_command(OUTPUT ${option_file}
COMMAND ${CMAKE_COMMAND} -Dtck=${tck} -Doption_file=${option_file}
-P ${CMAKE_CURRENT_SOURCE_DIR}/gen_tck_cache_opts.cmake)
# Moore cache name
set(cache_name TCK_${tck}_FunctorCache)
# Print this cache
MESSAGE( STATUS "Cache for TCK " ${tck} ": " ${option_file} )
# Build !
loki_functors_cache(${cache_name}
${option_file}
options/Moore_TCK.py
options/DataTypeAndTags.py
options/SuppressLogMessages.py
FACTORIES CoreFactory TrackFunctorFactory HltFactory TrackFactory
LoKi__Hybrid__HltFactory
Hlt1CoreFactory Hlt1HltFactory Hlt1Factory Hlt1HybridFactory
Hlt2TrackFunctorFactory Hlt2CoreFactory Hlt2HybridFactory
Hlt2HltFactory
LINK_LIBRARIES LoKiArrayFunctorsLib LoKiHltLib LoKiTriggerLib
DEPENDS ${conf_deps}
SPLIT 10)
set(moni_option_file ${CMAKE_CURRENT_BINARY_DIR}/options/Monitoring_${tck}.py)
add_custom_command(OUTPUT ${moni_option_file}
COMMAND ${CMAKE_COMMAND} -Dtck=${tck} -P ${CMAKE_CURRENT_SOURCE_DIR}/gen_moni_cache_opts.cmake)
MESSAGE(STATUS "Cache for TCK " ${tck} " (monitoring): " ${moni_option_file})
set(moni_cache_name TCK_${tck}_MoniFunctorCache)
# Build monitoring cache!
loki_functors_cache(${moni_cache_name}
${moni_option_file}
options/Monitoring.py
options/DataTypeAndTags.py
options/SuppressLogMessages.py
FACTORIES Hlt1HltFactory Hlt2HltFactory
LINK_LIBRARIES LoKiHltLib LoKiTriggerLib
DEPENDS ${conf_deps}
SPLIT 2)
endforeach()
if(NOT DISABLE_SETTINGS_CACHE)
include(settings.cmake)
endif()
foreach(settings_level ${settings})
# Split ThresholdSettings/Hlt1 into name and level
cmake_policy(PUSH)
cmake_policy(SET CMP0007 NEW)
string(REPLACE "/" ";" settings_level_list ${settings_level})
list(GET settings_level_list 0 name)
list(GET settings_level_list 1 level)
cmake_policy(POP)
set(option_file ${CMAKE_CURRENT_BINARY_DIR}/options/Settings_${name}_${level}.py)
add_custom_command(
OUTPUT ${option_file}
COMMAND ${CMAKE_COMMAND} -Dsettings=${name} -Dlevel=${level} -Doption_file=${option_file}
-P ${CMAKE_CURRENT_SOURCE_DIR}/gen_settings_cache_opts.cmake
)
MESSAGE(STATUS "Cache for " ${name} " (" ${level} "): " ${option_file})
set(cache_name ${name}_${level}_FunctorCache)
loki_functors_cache(${cache_name}
${option_file}
options/Moore_Settings.py
options/DataTypeAndTags.py
options/SuppressLogMessages.py
FACTORIES CoreFactory TrackFunctorFactory HltFactory TrackFactory
LoKi__Hybrid__HltFactory
Hlt1CoreFactory Hlt1HltFactory Hlt1Factory Hlt1HybridFactory
Hlt2TrackFunctorFactory Hlt2CoreFactory Hlt2HybridFactory
Hlt2HltFactory
LINK_LIBRARIES LoKiArrayFunctorsLib LoKiHltLib LoKiTriggerLib
DEPENDS ${conf_deps}
SPLIT 10)
endforeach()