############################################################################### # (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration # # # # This software is distributed under the terms of the GNU General Public # # Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # # # # In applying this licence, CERN does not waive the privileges and immunities # # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### #[=======================================================================[.rst: MooreCache ---------- #]=======================================================================] # Import the cache creation module include(LoKiFunctorsCache) set(cache_deps LHCb::LoKiCoreLib LHCb::PhysEvent Rec::FunctorCoreLib # this should bring most dependencies indirectly Phys::ParticleCombinersLib # TODO can we get this list automatically? # TODO can we depend only on the headers and not the .so files? ) if(TARGET MergeConfDB2) list(APPEND cache_deps MergeConfDB2) endif() # Disable LoKi-specific hacks in LoKiFunctorsCachePostActionOpts.py set(LOKI_FUNCTORS_CACHE_POST_ACTION_OPTS) list(APPEND hlt1_settings hlt1_pp_default hlt1_pp_comparison) list(APPEND hlt2_settings options/hlt2_pp_default options/hlt2_pp_thor tests/options/thor/loki_comparison tests/options/hlt2_reco_plus_thor_selections) if(NOT DEFINED REC_ROOT_DIR) # Rec uses new CMake configuration so we need a different way to locate # private files set(REC_ROOT_DIR ${Rec_DIR}/../../../../..) endif() foreach(name IN LISTS hlt1_settings) loki_functors_cache(Moore_FunctorCache_Hlt1_${name} ${REC_ROOT_DIR}/Phys/FunctorCache/options/DisableLoKiCacheFunctors.py ${PROJECT_SOURCE_DIR}/Hlt/Moore/tests/options/default_input_and_conds_hlt1.py ${CMAKE_CURRENT_SOURCE_DIR}/options/process_zero_events.py ${CMAKE_CURRENT_SOURCE_DIR}/options/silence_application_manager.py ${PROJECT_SOURCE_DIR}/Hlt/Hlt1Conf/options/${name}.py FACTORIES FunctorFactory LINK_LIBRARIES Gaudi::GaudiKernel Rec::FunctorCoreLib DEPENDS ${cache_deps} SPLIT 15 ) endforeach() foreach(options_path IN LISTS hlt2_settings) # Replace forward slashes with underscores to form a valid CMake identifier string(REPLACE "/" "_" name ${options_path}) loki_functors_cache(Moore_FunctorCache_Hlt2_${name} ${REC_ROOT_DIR}/Phys/FunctorCache/options/DisableLoKiCacheFunctors.py ${PROJECT_SOURCE_DIR}/Hlt/Moore/tests/options/default_input_and_conds_hlt2.py ${CMAKE_CURRENT_SOURCE_DIR}/options/process_zero_events.py ${CMAKE_CURRENT_SOURCE_DIR}/options/silence_application_manager.py ${PROJECT_SOURCE_DIR}/Hlt/Hlt2Conf/${options_path}.py FACTORIES FunctorFactory TrackFunctorFactory HybridFactory PPFactoryHybridFactory HltFactory LINK_LIBRARIES Gaudi::GaudiKernel LHCb::LoKiCoreLib LHCb::LoKiHltLib Phys::DaVinciKernelLib Phys::LoKiArrayFunctorsLib Phys::LoKiPhysLib Rec::FunctorCoreLib Rec::LoKiTrackLib DEPENDS ${cache_deps} SPLIT 25 ) endforeach()