Back to home page

EIC code displayed by LXR

 
 

    


Warning, /detector_benchmarks/benchmarks/rich/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
0002 
0003 get_filename_component(det_name ${CMAKE_CURRENT_LIST_DIR} NAME)
0004 project(${CMAKE_PROJECT_NAME}_${det_name} LANGUAGES CXX)
0005 
0006 cmake_policy(SET CMP0074 NEW) # use `<PackageName>_ROOT` variables
0007 include(GNUInstallDirs)
0008 
0009 # ROOT
0010 find_package(ROOT 6 REQUIRED COMPONENTS Core RIO Hist)
0011 include(${ROOT_USE_FILE})
0012 
0013 # data model
0014 find_package(podio REQUIRED)
0015 find_package(EDM4HEP REQUIRED)
0016 find_package(EDM4EIC REQUIRED)
0017 
0018 # logging
0019 find_package(spdlog REQUIRED)
0020 add_compile_definitions(SPDLOG_FMT_EXTERNAL)
0021 
0022 # sources
0023 set(algo_exe_source ${CMAKE_CURRENT_SOURCE_DIR}/src/benchmark.cc)
0024 file(GLOB algo_headers CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h)
0025 file(GLOB algo_sources CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc)
0026 list(REMOVE_ITEM algo_sources ${algo_exe_source})
0027 
0028 # library
0029 set(algo_lib ${PROJECT_NAME})
0030 add_library(${algo_lib} SHARED ${algo_sources})
0031 target_include_directories(${algo_lib} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
0032 target_compile_options(${algo_lib} PRIVATE -Wall -Wno-misleading-indentation)
0033 
0034 # executable
0035 set(algo_exe benchmark_${det_name}_reconstruction)
0036 add_executable(${algo_exe} ${algo_exe_source})
0037 
0038 # linking
0039 target_link_libraries(${algo_lib}
0040   PUBLIC
0041   ROOT::Core
0042   ROOT::Hist
0043   podio::podio
0044   podio::podioRootIO
0045   EDM4EIC::edm4eic
0046   EDM4HEP::edm4hep
0047   spdlog::spdlog
0048   )
0049 target_link_libraries(${algo_exe}
0050   PRIVATE
0051   ${algo_lib}
0052   )
0053 
0054 # installation
0055 install(FILES ${algo_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${CMAKE_PROJECT_NAME}/${det_name})
0056 install(TARGETS ${algo_exe} ${algo_lib})