Warning, /sdk/heaptrack/src/track/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # heaptrack: bash script to inject/preload 0002 configure_file(heaptrack.sh.cmake 0003 ${PROJECT_BINARY_DIR}/${BIN_INSTALL_DIR}/heaptrack @ONLY 0004 ) 0005 0006 install(PROGRAMS ${PROJECT_BINARY_DIR}/${BIN_INSTALL_DIR}/heaptrack 0007 DESTINATION ${BIN_INSTALL_DIR} 0008 ) 0009 0010 if (HEAPTRACK_USE_LIBUNWIND) 0011 add_library(heaptrack_unwind STATIC trace_libunwind.cpp) 0012 target_include_directories(heaptrack_unwind PRIVATE ${LIBUNWIND_INCLUDE_DIRS}) 0013 target_link_libraries(heaptrack_unwind PRIVATE ${LIBUNWIND_LIBRARIES}) 0014 else() 0015 add_library(heaptrack_unwind STATIC trace_unwind_tables.cpp) 0016 endif() 0017 0018 if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") 0019 set(LIBUTIL_LIBRARY "util") 0020 endif() 0021 0022 set_property(TARGET heaptrack_unwind PROPERTY POSITION_INDEPENDENT_CODE ON) 0023 0024 # heaptrack_env: runtime environment tests 0025 add_executable(heaptrack_env heaptrack_env.cpp) 0026 0027 install(TARGETS heaptrack_env 0028 RUNTIME DESTINATION ${LIBEXEC_INSTALL_DIR} 0029 ) 0030 0031 set_target_properties(heaptrack_env PROPERTIES 0032 RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${LIBEXEC_INSTALL_DIR}" 0033 ) 0034 0035 # heaptrack_preload: track a newly started process 0036 add_library(heaptrack_preload MODULE 0037 heaptrack_preload.cpp 0038 libheaptrack.cpp 0039 ) 0040 0041 target_link_libraries(heaptrack_preload LINK_PRIVATE 0042 ${CMAKE_DL_LIBS} 0043 ${CMAKE_THREAD_LIBS_INIT} 0044 ${LIBUTIL_LIBRARY} 0045 heaptrack_unwind 0046 rt 0047 ) 0048 0049 set_target_properties(heaptrack_preload PROPERTIES 0050 VERSION ${HEAPTRACK_LIB_VERSION} 0051 SOVERSION ${HEAPTRACK_LIB_SOVERSION} 0052 LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${LIB_INSTALL_DIR}/heaptrack" 0053 ) 0054 0055 install(TARGETS heaptrack_preload 0056 LIBRARY DESTINATION ${LIB_INSTALL_DIR}/heaptrack/ 0057 ) 0058 0059 # heaptrack_inject: track an already running process 0060 add_library(heaptrack_inject MODULE 0061 heaptrack_inject.cpp 0062 libheaptrack.cpp 0063 ) 0064 0065 target_link_libraries(heaptrack_inject PRIVATE 0066 ${CMAKE_DL_LIBS} 0067 ${CMAKE_THREAD_LIBS_INIT} 0068 ${LIBUTIL_LIBRARY} 0069 heaptrack_unwind 0070 rt 0071 tsl::robin_map 0072 ) 0073 0074 set_target_properties(heaptrack_inject PROPERTIES 0075 VERSION ${HEAPTRACK_LIB_VERSION} 0076 SOVERSION ${HEAPTRACK_LIB_SOVERSION} 0077 LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${LIB_INSTALL_DIR}/heaptrack" 0078 ) 0079 0080 install(TARGETS heaptrack_inject 0081 LIBRARY DESTINATION ${LIB_INSTALL_DIR}/heaptrack/ 0082 ) 0083 0084 # public API for custom pool allocators or static binaries 0085 install(FILES heaptrack_api.h 0086 DESTINATION ${CMAKE_INSTALL_PREFIX}/include 0087 )