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}/Acts/ActsVersion.hpp
0004 )
0005
0006 # source files will be added later
0007 add_library(ActsCore SHARED "")
0008
0009 target_sources(ActsCore PRIVATE src/ActsVersion.cpp)
0010
0011 target_compile_features(ActsCore PUBLIC ${ACTS_CXX_STANDARD_FEATURE})
0012
0013 target_include_directories(
0014 ActsCore
0015 PUBLIC
0016 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
0017 # for the generated version header
0018 $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
0019 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
0020 )
0021 target_link_libraries(ActsCore PUBLIC Boost::boost Eigen3::Eigen)
0022
0023 if(ACTS_PARAMETER_DEFINITIONS_HEADER)
0024 target_compile_definitions(
0025 ActsCore
0026 PUBLIC
0027 -DACTS_PARAMETER_DEFINITIONS_HEADER="${ACTS_PARAMETER_DEFINITIONS_HEADER}"
0028 )
0029 endif()
0030
0031 if(ACTS_SOURCELINK_SBO_SIZE)
0032 target_compile_definitions(
0033 ActsCore
0034 PUBLIC -DACTS_SOURCELINK_SBO_SIZE=${ACTS_SOURCELINK_SBO_SIZE}
0035 )
0036 endif()
0037
0038 if(ACTS_LOG_FAILURE_THRESHOLD)
0039 message(
0040 STATUS
0041 "Enable log failure threshold, set to ${ACTS_LOG_FAILURE_THRESHOLD}"
0042 )
0043 target_compile_definitions(
0044 ActsCore
0045 PUBLIC
0046 -DACTS_LOG_FAILURE_THRESHOLD=${ACTS_LOG_FAILURE_THRESHOLD}
0047 -DACTS_ENABLE_LOG_FAILURE_THRESHOLD
0048 )
0049 else()
0050 if(ACTS_ENABLE_LOG_FAILURE_THRESHOLD)
0051 message(STATUS "Enable log failure threshold")
0052 target_compile_definitions(
0053 ActsCore
0054 PUBLIC -DACTS_ENABLE_LOG_FAILURE_THRESHOLD
0055 )
0056 endif()
0057 endif()
0058
0059 if(ACTS_ENABLE_CPU_PROFILING)
0060 message(STATUS "added lprofiler")
0061
0062 if(NOT ACTS_GPERF_INSTALL_DIR STREQUAL "")
0063 find_library(PROFILER_LIBRARY profiler HINTS ${ACTS_GPERF_INSTALL_DIR})
0064
0065 target_link_libraries(ActsCore PUBLIC ${PROFILER_LIBRARY})
0066 else()
0067 target_link_libraries(ActsCore PUBLIC -lprofiler)
0068 endif()
0069
0070 target_link_options(ActsCore PUBLIC "LINKER:-no-as-needed")
0071 endif()
0072
0073 if(ACTS_ENABLE_MEMORY_PROFILING)
0074 message(STATUS "added ltcmalloc")
0075
0076 if(NOT ACTS_GPERF_INSTALL_DIR STREQUAL "")
0077 find_library(TCMALLOC_LIBRARY tcmalloc HINTS ${ACTS_GPERF_INSTALL_DIR})
0078
0079 target_link_libraries(ActsCore PUBLIC ${TCMALLOC_LIBRARY})
0080 else()
0081 target_link_libraries(ActsCore PUBLIC -ltcmalloc)
0082 endif()
0083 endif()
0084
0085 install(
0086 TARGETS ActsCore
0087 EXPORT ActsCoreTargets
0088 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
0089 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
0090 )
0091 install(DIRECTORY include/Acts DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
0092 install(
0093 FILES ${CMAKE_CURRENT_BINARY_DIR}/Acts/ActsVersion.hpp
0094 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/Acts
0095 )
0096
0097 # target source files are added separately
0098 add_subdirectory(src/EventData)
0099 add_subdirectory(src/Definitions)
0100 add_subdirectory(src/Detector)
0101 add_subdirectory(src/Geometry)
0102 add_subdirectory(src/MagneticField)
0103 add_subdirectory(src/Material)
0104 add_subdirectory(src/Navigation)
0105 add_subdirectory(src/Propagator)
0106 add_subdirectory(src/Seeding)
0107 add_subdirectory(src/Surfaces)
0108 add_subdirectory(src/TrackFinding)
0109 add_subdirectory(src/TrackFitting)
0110 add_subdirectory(src/Utilities)
0111 add_subdirectory(src/Vertexing)
0112 add_subdirectory(src/Visualization)
0113 add_subdirectory(src/AmbiguityResolution)