Back to home page

EIC code displayed by LXR

 
 

    


Warning, /acts/Core/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 configure_file(
0002     ActsVersion.hpp.in
0003     ${CMAKE_CURRENT_BINARY_DIR}/include/Acts/ActsVersion.hpp
0004 )
0005 
0006 # source files will be added later
0007 acts_add_library(Core "")
0008 
0009 target_sources(ActsCore PRIVATE src/ActsVersion.cpp)
0010 
0011 target_compile_features(ActsCore PUBLIC ${ACTS_CXX_STANDARD_FEATURE})
0012 
0013 set(ACTS_GEOMETRY_MODULE_CAPI 1)
0014 set(_acts_geometry_module_abi_tag
0015     "acts-${Acts_VERSION}|sys-${CMAKE_SYSTEM_NAME}|arch-${CMAKE_SYSTEM_PROCESSOR}|cxx-${CMAKE_CXX_COMPILER_ID}-${CMAKE_CXX_COMPILER_VERSION}|capi-${ACTS_GEOMETRY_MODULE_CAPI}"
0016 )
0017 set(ACTS_GEOMETRY_MODULE_ABI_TAG
0018     "${_acts_geometry_module_abi_tag}"
0019     CACHE INTERNAL
0020     "ACTS geometry module ABI tag"
0021 )
0022 
0023 target_include_directories(
0024     ActsCore
0025     PUBLIC
0026         $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
0027         # for the generated version header
0028         $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
0029         $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
0030 )
0031 target_link_libraries(ActsCore PUBLIC Boost::boost Eigen3::Eigen)
0032 
0033 find_package(Threads REQUIRED)
0034 target_link_libraries(ActsCore PRIVATE Threads::Threads)
0035 if(CMAKE_DL_LIBS)
0036     target_link_libraries(ActsCore PRIVATE ${CMAKE_DL_LIBS})
0037 endif()
0038 
0039 target_compile_definitions(
0040     ActsCore
0041     PRIVATE ACTS_GEOMETRY_MODULE_ABI_TAG="${_acts_geometry_module_abi_tag}"
0042 )
0043 
0044 if(ACTS_PARAMETER_DEFINITIONS_HEADER)
0045     target_compile_definitions(
0046         ActsCore
0047         PUBLIC
0048             -DACTS_PARAMETER_DEFINITIONS_HEADER="${ACTS_PARAMETER_DEFINITIONS_HEADER}"
0049     )
0050 endif()
0051 
0052 if(ACTS_SOURCELINK_SBO_SIZE)
0053     target_compile_definitions(
0054         ActsCore
0055         PUBLIC -DACTS_SOURCELINK_SBO_SIZE=${ACTS_SOURCELINK_SBO_SIZE}
0056     )
0057 endif()
0058 
0059 if(ACTS_ENABLE_LOG_FAILURE_THRESHOLD)
0060     message(STATUS "Enable log failure threshold")
0061     target_compile_definitions(
0062         ActsCore
0063         PUBLIC -DACTS_ENABLE_LOG_FAILURE_THRESHOLD
0064     )
0065 endif()
0066 
0067 if(ACTS_ENABLE_CPU_PROFILING)
0068     message(STATUS "added lprofiler")
0069 
0070     if(NOT ACTS_GPERF_INSTALL_DIR STREQUAL "")
0071         find_library(PROFILER_LIBRARY profiler HINTS ${ACTS_GPERF_INSTALL_DIR})
0072 
0073         target_link_libraries(ActsCore PUBLIC ${PROFILER_LIBRARY})
0074     else()
0075         target_link_libraries(ActsCore PUBLIC -lprofiler)
0076     endif()
0077 
0078     target_link_options(ActsCore PUBLIC "LINKER:-no-as-needed")
0079 endif()
0080 
0081 if(ACTS_ENABLE_MEMORY_PROFILING)
0082     message(STATUS "added ltcmalloc")
0083 
0084     if(NOT ACTS_GPERF_INSTALL_DIR STREQUAL "")
0085         find_library(TCMALLOC_LIBRARY tcmalloc HINTS ${ACTS_GPERF_INSTALL_DIR})
0086 
0087         target_link_libraries(ActsCore PUBLIC ${TCMALLOC_LIBRARY})
0088     else()
0089         target_link_libraries(ActsCore PUBLIC -ltcmalloc)
0090     endif()
0091 endif()
0092 
0093 install(DIRECTORY include/Acts DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
0094 
0095 # Install version header based on git repository status
0096 if(_acts_is_git_repo)
0097     # For git repositories, generate header with hash at install time
0098     install(
0099         CODE
0100             "
0101         # Get git hash at install time
0102         execute_process(
0103             COMMAND git rev-parse HEAD
0104             WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0105             OUTPUT_VARIABLE _install_git_hash
0106             OUTPUT_STRIP_TRAILING_WHITESPACE
0107             ERROR_QUIET
0108         )
0109         execute_process(
0110             COMMAND git rev-parse --short HEAD
0111             WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0112             OUTPUT_VARIABLE _install_git_hash_short
0113             OUTPUT_STRIP_TRAILING_WHITESPACE
0114             ERROR_QUIET
0115         )
0116         execute_process(
0117             COMMAND git diff-index --quiet HEAD --
0118             WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0119             RESULT_VARIABLE _git_is_dirty
0120             ERROR_QUIET
0121         )
0122 
0123         if(NOT _git_is_dirty EQUAL 0)
0124             set(_install_git_hash \"\${_install_git_hash}-dirty\")
0125             set(_install_git_hash_short \"\${_install_git_hash_short}-dirty\")
0126         endif()
0127 
0128         # Configure the version file with hash and version numbers
0129         set(_acts_commit_hash \"\\\"\${_install_git_hash}\\\"\")
0130         set(_acts_commit_hash_short \"\\\"\${_install_git_hash_short}\\\"\")
0131         set(PROJECT_VERSION_MAJOR \"${PROJECT_VERSION_MAJOR}\")
0132         set(PROJECT_VERSION_MINOR \"${PROJECT_VERSION_MINOR}\")
0133         set(PROJECT_VERSION_PATCH \"${PROJECT_VERSION_PATCH}\")
0134     configure_file(
0135         ${CMAKE_CURRENT_SOURCE_DIR}/ActsVersion.hpp.in
0136         ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/Acts/ActsVersion.hpp
0137         @ONLY
0138     )
0139 "
0140     )
0141 else()
0142     # For non-git sources (e.g., tarball), just copy the build-time header
0143     install(
0144         FILES ${CMAKE_CURRENT_BINARY_DIR}/include/Acts/ActsVersion.hpp
0145         DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/Acts
0146     )
0147 endif()
0148 
0149 # target source files are added separately
0150 add_subdirectory(src/EventData)
0151 add_subdirectory(src/Definitions)
0152 add_subdirectory(src/Geometry)
0153 add_subdirectory(src/MagneticField)
0154 add_subdirectory(src/Material)
0155 add_subdirectory(src/Navigation)
0156 add_subdirectory(src/Propagator)
0157 add_subdirectory(src/Seeding)
0158 add_subdirectory(src/SpacePointFormation)
0159 add_subdirectory(src/Surfaces)
0160 add_subdirectory(src/TrackFinding)
0161 add_subdirectory(src/TrackFitting)
0162 add_subdirectory(src/Utilities)
0163 add_subdirectory(src/Vertexing)
0164 add_subdirectory(src/Visualization)
0165 add_subdirectory(src/AmbiguityResolution)
0166 
0167 acts_compile_headers(
0168     Core
0169     GLOB include/Acts/**/*.hpp
0170     # deprecated forwarding headers, which emit a warning
0171     EXCLUDE "include/Acts/Material/interface/"
0172 )