Warning, /athena/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
0002
0003 # CMP0074: find_package() uses <PackageName>_ROOT variables
0004 cmake_policy(SET CMP0074 NEW)
0005
0006 PROJECT(athena
0007 VERSION 0.0.1
0008 LANGUAGES CXX
0009 DESCRIPTION "A template dd4hep+acts detector"
0010 )
0011
0012 set(CMAKE_CXX_STANDARD 17)
0013 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
0014
0015 find_package(DD4hep REQUIRED COMPONENTS DDCore DDG4)
0016 find_package(ActsDD4hep)
0017 if(ActsDD4hep_FOUND)
0018 add_compile_definitions(USE_ACTSDD4HEP)
0019 set(ActsDD4hep ActsDD4hep::ActsDD4hep)
0020 else()
0021 find_package(Acts REQUIRED COMPONENTS Core PluginIdentification PluginTGeo PluginDD4hep)
0022 set(ActsDD4hep ActsCore ActsPluginDD4hep)
0023 endif()
0024 find_package(fmt REQUIRED)
0025
0026 #-----------------------------------------------------------------------------------
0027 set(a_lib_name athena)
0028
0029 dd4hep_configure_output()
0030
0031 dd4hep_add_plugin(${a_lib_name} SOURCES
0032 src/BarrelBarDetectorWithSideFrame_geo.cpp
0033 src/BarrelCalorimeter_geo.cpp
0034 src/BarrelCalorimeterInterlayers_geo.cpp
0035 src/BarrelTrackerWithFrame_geo.cpp
0036 src/CompositeTracker_geo.cpp
0037 src/CylinderTrackerBarrel_geo.cpp
0038 src/DIRC_geo.cpp
0039 src/DRICH_geo.cpp
0040 src/PFRICH_geo.cpp
0041 src/FileLoader.cpp
0042 src/FieldMapBrBz.cpp
0043 src/GaseousRICH_geo.cpp
0044 src/GeometryHelpers.cpp
0045 src/HomogeneousCalorimeter_geo.cpp
0046 src/HybridCalorimeter_geo.cpp
0047 src/MRich_geo.cpp
0048 src/PolyhedraEndcapCalorimeter2_geo.cpp
0049 src/ScFiCalorimeter_geo.cpp
0050 src/ShashlikCalorimeter_geo.cpp
0051 src/SimpleDiskDetector_geo.cpp
0052 src/SolenoidCoil_geo.cpp
0053 src/TrapEndcapTracker_geo.cpp
0054 USES ${ActsDD4hep}
0055 )
0056 target_link_libraries(${a_lib_name}
0057 PUBLIC DD4hep::DDCore DD4hep::DDRec fmt::fmt
0058 )
0059
0060 #-----------------------------------------------------------------------------------
0061 # Install the detector description files.
0062 install(DIRECTORY compact/
0063 DESTINATION share/${PROJECT_NAME}/${a_lib_name}
0064 FILES_MATCHING PATTERN "*.xml"
0065 )
0066 install(DIRECTORY compact/
0067 DESTINATION share/${PROJECT_NAME}/compact
0068 FILES_MATCHING PATTERN "*.xml"
0069 )
0070 install(FILES athena.xml
0071 DESTINATION share/${PROJECT_NAME}/
0072 )
0073 #-----------------------------------------------------------------------------------
0074 # Install the detector calibration files.
0075 install(DIRECTORY calibrations/
0076 DESTINATION share/${PROJECT_NAME}/calibrations
0077 )