Rename hosttrace to omnitrace (#18)

This commit is contained in:
Jonathan R. Madsen
2021-11-24 04:59:59 -06:00
committed by GitHub
parent 752424efc2
commit 39cf760a4e
46 changed files with 906 additions and 830 deletions
+74 -74
View File
@@ -12,16 +12,16 @@ include(Compilers)
include(FindPackageHandleStandardArgs)
include(MacroUtilities)
option(HOSTTRACE_BUILD_DEVELOPER "Extra build flags for development like -Werror" OFF)
option(HOSTTRACE_BUILD_EXTRA_OPTIMIZATIONS "Extra optimization flags" OFF)
option(HOSTTRACE_BUILD_LTO "Build with link-time optimization" OFF)
option(HOSTTRACE_USE_COMPILE_TIMING "" OFF)
option(HOSTTRACE_USE_COVERAGE "" OFF)
option(HOSTTRACE_USE_SANITIZER "" OFF)
option(OMNITRACE_BUILD_DEVELOPER "Extra build flags for development like -Werror" OFF)
option(OMNITRACE_BUILD_EXTRA_OPTIMIZATIONS "Extra optimization flags" OFF)
option(OMNITRACE_BUILD_LTO "Build with link-time optimization" OFF)
option(OMNITRACE_USE_COMPILE_TIMING "" OFF)
option(OMNITRACE_USE_COVERAGE "" OFF)
option(OMNITRACE_USE_SANITIZER "" OFF)
target_compile_definitions(hosttrace-compile-options INTERFACE $<$<CONFIG:DEBUG>:DEBUG>)
target_compile_definitions(omnitrace-compile-options INTERFACE $<$<CONFIG:DEBUG>:DEBUG>)
set(HOSTTRACE_SANITIZER_TYPE
set(OMNITRACE_SANITIZER_TYPE
"leak"
CACHE STRING "Sanitizer type")
@@ -46,7 +46,7 @@ find_package_handle_standard_args(rt-library REQUIRED_VARS rt_LIBRARY)
# find_package_handle_standard_args(dw-library REQUIRED_VARS dw_LIBRARY)
if(dl_LIBRARY)
target_link_libraries(hosttrace-compile-options INTERFACE ${dl_LIBRARY})
target_link_libraries(omnitrace-compile-options INTERFACE ${dl_LIBRARY})
endif()
# ----------------------------------------------------------------------------------------#
@@ -68,56 +68,56 @@ endif()
# ----------------------------------------------------------------------------------------#
# extra flags for debug information in debug or optimized binaries
#
hosttrace_add_interface_library(
hosttrace-compile-debuginfo
omnitrace_add_interface_library(
omnitrace-compile-debuginfo
"Attempts to set best flags for more expressive profiling information in debug or optimized binaries"
)
add_target_flag_if_avail(hosttrace-compile-debuginfo "-g" "-fno-omit-frame-pointer"
add_target_flag_if_avail(omnitrace-compile-debuginfo "-g" "-fno-omit-frame-pointer"
"-fno-optimize-sibling-calls")
if(CMAKE_CUDA_COMPILER_IS_NVIDIA)
add_target_cuda_flag(hosttrace-compile-debuginfo "-lineinfo")
add_target_cuda_flag(omnitrace-compile-debuginfo "-lineinfo")
endif()
target_compile_options(
hosttrace-compile-debuginfo
omnitrace-compile-debuginfo
INTERFACE $<$<COMPILE_LANGUAGE:C>:$<$<C_COMPILER_ID:GNU>:-rdynamic>>
$<$<COMPILE_LANGUAGE:CXX>:$<$<CXX_COMPILER_ID:GNU>:-rdynamic>>)
if(NOT APPLE)
target_link_options(hosttrace-compile-debuginfo INTERFACE
target_link_options(omnitrace-compile-debuginfo INTERFACE
$<$<CXX_COMPILER_ID:GNU>:-rdynamic>)
endif()
if(CMAKE_CUDA_COMPILER_IS_NVIDIA)
target_compile_options(
hosttrace-compile-debuginfo
omnitrace-compile-debuginfo
INTERFACE
$<$<COMPILE_LANGUAGE:CUDA>:$<$<CXX_COMPILER_ID:GNU>:-Xcompiler=-rdynamic>>)
endif()
if(dl_LIBRARY)
target_link_libraries(hosttrace-compile-debuginfo INTERFACE ${dl_LIBRARY})
target_link_libraries(omnitrace-compile-debuginfo INTERFACE ${dl_LIBRARY})
endif()
if(rt_LIBRARY)
target_link_libraries(hosttrace-compile-debuginfo INTERFACE ${rt_LIBRARY})
target_link_libraries(omnitrace-compile-debuginfo INTERFACE ${rt_LIBRARY})
endif()
# ----------------------------------------------------------------------------------------#
# non-debug optimizations
#
hosttrace_add_interface_library(hosttrace-compile-extra "Extra optimization flags")
if(NOT HOSTTRACE_USE_COVERAGE)
omnitrace_add_interface_library(omnitrace-compile-extra "Extra optimization flags")
if(NOT OMNITRACE_USE_COVERAGE)
add_target_flag_if_avail(
hosttrace-compile-extra "-finline-functions" "-funroll-loops" "-ftree-vectorize"
omnitrace-compile-extra "-finline-functions" "-funroll-loops" "-ftree-vectorize"
"-ftree-loop-optimize" "-ftree-loop-vectorize")
endif()
if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Debug" AND HOSTTRACE_BUILD_EXTRA_OPTIMIZATIONS)
target_link_libraries(hosttrace-compile-options
INTERFACE $<BUILD_INTERFACE:hosttrace-compile-extra>)
if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Debug" AND OMNITRACE_BUILD_EXTRA_OPTIMIZATIONS)
target_link_libraries(omnitrace-compile-options
INTERFACE $<BUILD_INTERFACE:omnitrace-compile-extra>)
add_flag_if_avail(
"-fno-signaling-nans" "-fno-trapping-math" "-fno-signed-zeros"
"-ffinite-math-only" "-fno-math-errno" "-fpredictive-commoning"
@@ -130,55 +130,55 @@ endif()
#
add_cxx_flag_if_avail("-faligned-new")
hosttrace_save_variables(FLTO VARIABLES CMAKE_CXX_FLAGS)
omnitrace_save_variables(FLTO VARIABLES CMAKE_CXX_FLAGS)
set(CMAKE_CXX_FLAGS "-flto=thin ${CMAKE_CXX_FLAGS}")
hosttrace_add_interface_library(hosttrace-lto "Adds link-time-optimization flags")
add_target_flag_if_avail(hosttrace-lto "-flto=thin")
if(NOT cxx_hosttrace_lto_flto_thin)
omnitrace_add_interface_library(omnitrace-lto "Adds link-time-optimization flags")
add_target_flag_if_avail(omnitrace-lto "-flto=thin")
if(NOT cxx_omnitrace_lto_flto_thin)
set(CMAKE_CXX_FLAGS "-flto ${CMAKE_CXX_FLAGS}")
add_target_flag_if_avail(hosttrace-lto "-flto")
if(NOT cxx_hosttrace_lto_flto)
set(HOSTTRACE_BUILD_LTO OFF)
add_target_flag_if_avail(omnitrace-lto "-flto")
if(NOT cxx_omnitrace_lto_flto)
set(OMNITRACE_BUILD_LTO OFF)
else()
target_link_options(hosttrace-lto INTERFACE -flto)
target_link_options(omnitrace-lto INTERFACE -flto)
endif()
else()
target_link_options(hosttrace-lto INTERFACE -flto=thin)
target_link_options(omnitrace-lto INTERFACE -flto=thin)
endif()
if(HOSTTRACE_BUILD_LTO)
target_link_libraries(hosttrace-compile-options INTERFACE hosttrace::hosttrace-lto)
if(OMNITRACE_BUILD_LTO)
target_link_libraries(omnitrace-compile-options INTERFACE omnitrace::omnitrace-lto)
endif()
hosttrace_restore_variables(FLTO VARIABLES CMAKE_CXX_FLAGS)
omnitrace_restore_variables(FLTO VARIABLES CMAKE_CXX_FLAGS)
# ----------------------------------------------------------------------------------------#
# print compilation timing reports (Clang compiler)
#
hosttrace_add_interface_library(
hosttrace-compile-timing
omnitrace_add_interface_library(
omnitrace-compile-timing
"Adds compiler flags which report compilation timing metrics")
if(CMAKE_CXX_COMPILER_IS_CLANG)
add_target_flag_if_avail(hosttrace-compile-timing "-ftime-trace")
if(NOT cxx_hosttrace_compile_timing_ftime_trace)
add_target_flag_if_avail(hosttrace-compile-timing "-ftime-report")
add_target_flag_if_avail(omnitrace-compile-timing "-ftime-trace")
if(NOT cxx_omnitrace_compile_timing_ftime_trace)
add_target_flag_if_avail(omnitrace-compile-timing "-ftime-report")
endif()
else()
add_target_flag_if_avail(hosttrace-compile-timing "-ftime-report")
add_target_flag_if_avail(omnitrace-compile-timing "-ftime-report")
endif()
if(HOSTTRACE_USE_COMPILE_TIMING)
target_link_libraries(hosttrace-compile-options INTERFACE hosttrace-compile-timing)
if(OMNITRACE_USE_COMPILE_TIMING)
target_link_libraries(omnitrace-compile-options INTERFACE omnitrace-compile-timing)
endif()
# ----------------------------------------------------------------------------------------#
# developer build flags
#
hosttrace_add_interface_library(hosttrace-develop-options "Adds developer compiler flags")
if(HOSTTRACE_BUILD_DEVELOPER)
omnitrace_add_interface_library(omnitrace-develop-options "Adds developer compiler flags")
if(OMNITRACE_BUILD_DEVELOPER)
add_target_flag_if_avail(
hosttrace-develop-options
omnitrace-develop-options
# "-Wabi"
"-Wdouble-promotion" "-Wshadow" "-Wextra" "-Wpedantic" "-Werror" "/showIncludes")
endif()
@@ -186,13 +186,13 @@ endif()
# ----------------------------------------------------------------------------------------#
# visibility build flags
#
hosttrace_add_interface_library(hosttrace-default-visibility
omnitrace_add_interface_library(omnitrace-default-visibility
"Adds -fvisibility=default compiler flag")
hosttrace_add_interface_library(hosttrace-hidden-visibility
omnitrace_add_interface_library(omnitrace-hidden-visibility
"Adds -fvisibility=hidden compiler flag")
add_target_flag_if_avail(hosttrace-default-visibility "-fvisibility=default")
add_target_flag_if_avail(hosttrace-hidden-visibility "-fvisibility=hidden"
add_target_flag_if_avail(omnitrace-default-visibility "-fvisibility=default")
add_target_flag_if_avail(omnitrace-hidden-visibility "-fvisibility=hidden"
"-fvisibility-inlines-hidden")
# ----------------------------------------------------------------------------------------#
@@ -208,7 +208,7 @@ endif()
# ----------------------------------------------------------------------------------------#
# sanitizer
#
set(HOSTTRACE_SANITIZER_TYPES
set(OMNITRACE_SANITIZER_TYPES
address
memory
thread
@@ -218,47 +218,47 @@ set(HOSTTRACE_SANITIZER_TYPES
null
bounds
alignment)
set_property(CACHE HOSTTRACE_SANITIZER_TYPE PROPERTY STRINGS
"${HOSTTRACE_SANITIZER_TYPES}")
hosttrace_add_interface_library(hosttrace-sanitizer-compile-options
set_property(CACHE OMNITRACE_SANITIZER_TYPE PROPERTY STRINGS
"${OMNITRACE_SANITIZER_TYPES}")
omnitrace_add_interface_library(omnitrace-sanitizer-compile-options
"Adds compiler flags for sanitizers")
hosttrace_add_interface_library(
hosttrace-sanitizer
"Adds compiler flags to enable ${HOSTTRACE_SANITIZER_TYPE} sanitizer (-fsanitizer=${HOSTTRACE_SANITIZER_TYPE})"
omnitrace_add_interface_library(
omnitrace-sanitizer
"Adds compiler flags to enable ${OMNITRACE_SANITIZER_TYPE} sanitizer (-fsanitizer=${OMNITRACE_SANITIZER_TYPE})"
)
set(COMMON_SANITIZER_FLAGS "-fno-optimize-sibling-calls" "-fno-omit-frame-pointer"
"-fno-inline-functions")
add_target_flag(hosttrace-sanitizer-compile-options ${COMMON_SANITIZER_FLAGS})
add_target_flag(omnitrace-sanitizer-compile-options ${COMMON_SANITIZER_FLAGS})
foreach(_TYPE ${HOSTTRACE_SANITIZER_TYPES})
foreach(_TYPE ${OMNITRACE_SANITIZER_TYPES})
set(_FLAG "-fsanitize=${_TYPE}")
hosttrace_add_interface_library(
hosttrace-${_TYPE}-sanitizer
omnitrace_add_interface_library(
omnitrace-${_TYPE}-sanitizer
"Adds compiler flags to enable ${_TYPE} sanitizer (${_FLAG})")
add_target_flag(hosttrace-${_TYPE}-sanitizer ${_FLAG})
target_link_libraries(hosttrace-${_TYPE}-sanitizer
INTERFACE hosttrace-sanitizer-compile-options)
set_property(TARGET hosttrace-${_TYPE}-sanitizer
add_target_flag(omnitrace-${_TYPE}-sanitizer ${_FLAG})
target_link_libraries(omnitrace-${_TYPE}-sanitizer
INTERFACE omnitrace-sanitizer-compile-options)
set_property(TARGET omnitrace-${_TYPE}-sanitizer
PROPERTY INTERFACE_LINK_OPTIONS ${_FLAG} ${COMMON_SANITIZER_FLAGS})
endforeach()
unset(_FLAG)
unset(COMMON_SANITIZER_FLAGS)
if(HOSTTRACE_USE_SANITIZER)
foreach(_TYPE ${HOSTTRACE_SANITIZER_TYPE})
if(TARGET hosttrace-${_TYPE}-sanitizer)
target_link_libraries(hosttrace-sanitizer
INTERFACE hosttrace-${_TYPE}-sanitizer)
if(OMNITRACE_USE_SANITIZER)
foreach(_TYPE ${OMNITRACE_SANITIZER_TYPE})
if(TARGET omnitrace-${_TYPE}-sanitizer)
target_link_libraries(omnitrace-sanitizer
INTERFACE omnitrace-${_TYPE}-sanitizer)
else()
message(
FATAL_ERROR "Error! Target 'hosttrace-${_TYPE}-sanitizer' does not exist!"
FATAL_ERROR "Error! Target 'omnitrace-${_TYPE}-sanitizer' does not exist!"
)
endif()
endforeach()
else()
set(HOSTTRACE_USE_SANITIZER OFF)
set(OMNITRACE_USE_SANITIZER OFF)
endif()
if(MSVC)
@@ -274,5 +274,5 @@ endif()
get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
if(NOT APPLE OR "$ENV{CONDA_PYTHON_EXE}" STREQUAL "")
add_user_flags(hosttrace-compile-options "CXX")
add_user_flags(omnitrace-compile-options "CXX")
endif()
+22 -22
View File
@@ -31,7 +31,7 @@ if("${LIBNAME}" STREQUAL "")
string(TOLOWER "${PROJECT_NAME}" LIBNAME)
endif()
hosttrace_add_interface_library(
omnitrace_add_interface_library(
${LIBNAME}-compile-options "Adds the standard set of compiler flags used by timemory")
# ----------------------------------------------------------------------------------------#
@@ -87,12 +87,12 @@ endmacro(set_no_duplicates _VAR)
# ----------------------------------------------------------------------------------------#
# call before running check_{c,cxx}_compiler_flag
# ----------------------------------------------------------------------------------------#
macro(hosttrace_begin_flag_check)
if(HOSTTRACE_QUIET_CONFIG)
macro(omnitrace_begin_flag_check)
if(OMNITRACE_QUIET_CONFIG)
if(NOT DEFINED CMAKE_REQUIRED_QUIET)
set(CMAKE_REQUIRED_QUIET OFF)
endif()
hosttrace_save_variables(FLAG_CHECK VARIABLES CMAKE_REQUIRED_QUIET)
omnitrace_save_variables(FLAG_CHECK VARIABLES CMAKE_REQUIRED_QUIET)
set(CMAKE_REQUIRED_QUIET ON)
endif()
endmacro()
@@ -100,9 +100,9 @@ endmacro()
# ----------------------------------------------------------------------------------------#
# call after running check_{c,cxx}_compiler_flag
# ----------------------------------------------------------------------------------------#
macro(hosttrace_end_flag_check)
if(HOSTTRACE_QUIET_CONFIG)
hosttrace_restore_variables(FLAG_CHECK VARIABLES CMAKE_REQUIRED_QUIET)
macro(omnitrace_end_flag_check)
if(OMNITRACE_QUIET_CONFIG)
omnitrace_restore_variables(FLAG_CHECK VARIABLES CMAKE_REQUIRED_QUIET)
endif()
endmacro()
@@ -117,7 +117,7 @@ endmacro()
# ----------------------------------------------------------------------------------------#
macro(ADD_TARGET_C_FLAG _TARG)
string(REPLACE "-" "_" _MAKE_TARG "${_TARG}")
list(APPEND HOSTTRACE_MAKE_TARGETS ${_MAKE_TARG})
list(APPEND OMNITRACE_MAKE_TARGETS ${_MAKE_TARG})
target_compile_options(${_TARG} INTERFACE $<$<COMPILE_LANGUAGE:C>:${ARGN}>)
list(APPEND ${_MAKE_TARG}_C_FLAGS ${ARGN})
@@ -151,7 +151,7 @@ endmacro()
# ----------------------------------------------------------------------------------------#
macro(ADD_C_FLAG_IF_AVAIL FLAG)
set(_ENABLE ON)
if(DEFINED HOSTTRACE_BUILD_C AND NOT HOSTTRACE_BUILD_C)
if(DEFINED OMNITRACE_BUILD_C AND NOT OMNITRACE_BUILD_C)
set(_ENABLE OFF)
endif()
set(_TARG)
@@ -166,17 +166,17 @@ macro(ADD_C_FLAG_IF_AVAIL FLAG)
string(REPLACE "-" "_" FLAG_NAME "${FLAG_NAME}")
string(REPLACE " " "_" FLAG_NAME "${FLAG_NAME}")
string(REPLACE "=" "_" FLAG_NAME "${FLAG_NAME}")
if(NOT HOSTTRACE_BUILD_C)
if(NOT OMNITRACE_BUILD_C)
set(${FLAG_NAME} ON)
else()
hosttrace_begin_flag_check()
omnitrace_begin_flag_check()
check_c_compiler_flag("-Werror" c_werror)
if(c_werror)
check_c_compiler_flag("${FLAG} -Werror" ${FLAG_NAME})
else()
check_c_compiler_flag("${FLAG}" ${FLAG_NAME})
endif()
hosttrace_end_flag_check()
omnitrace_end_flag_check()
if(${FLAG_NAME})
if("${_LTARG}" STREQUAL "")
list(APPEND ${PROJECT_NAME}_C_FLAGS "${FLAG}")
@@ -212,7 +212,7 @@ endmacro()
# ----------------------------------------------------------------------------------------#
macro(ADD_TARGET_CXX_FLAG _TARG)
string(REPLACE "-" "_" _MAKE_TARG "${_TARG}")
list(APPEND HOSTTRACE_MAKE_TARGETS ${_MAKE_TARG})
list(APPEND OMNITRACE_MAKE_TARGETS ${_MAKE_TARG})
target_compile_options(${_TARG} INTERFACE $<$<COMPILE_LANGUAGE:CXX>:${ARGN}>)
list(APPEND ${_MAKE_TARG}_CXX_FLAGS ${ARGN})
@@ -267,14 +267,14 @@ macro(ADD_CXX_FLAG_IF_AVAIL FLAG)
string(REPLACE " " "_" FLAG_NAME "${FLAG_NAME}")
string(REPLACE "=" "_" FLAG_NAME "${FLAG_NAME}")
string(REPLACE "/" "_" FLAG_NAME "${FLAG_NAME}")
hosttrace_begin_flag_check()
omnitrace_begin_flag_check()
check_cxx_compiler_flag("-Werror" cxx_werror)
if(cxx_werror)
check_cxx_compiler_flag("${FLAG} -Werror" ${FLAG_NAME})
else()
check_cxx_compiler_flag("${FLAG}" ${FLAG_NAME})
endif()
hosttrace_end_flag_check()
omnitrace_end_flag_check()
if(${FLAG_NAME})
if("${_LTARG}" STREQUAL "")
list(APPEND ${PROJECT_NAME}_CXX_FLAGS "${FLAG}")
@@ -347,7 +347,7 @@ endmacro()
# ----------------------------------------------------------------------------------------#
# check flag
# ----------------------------------------------------------------------------------------#
function(HOSTTRACE_TARGET_FLAG _TARG_TARGET)
function(OMNITRACE_TARGET_FLAG _TARG_TARGET)
cmake_parse_arguments(_TARG "IF_AVAIL" "MODE" "FLAGS;LANGUAGES" ${ARGN})
if(NOT _TARG_MODE)
@@ -376,14 +376,14 @@ function(HOSTTRACE_TARGET_FLAG _TARG_TARGET)
string(REPLACE "-" "_" FLAG_NAME "${FLAG_NAME}")
string(REPLACE " " "_" FLAG_NAME "${FLAG_NAME}")
string(REPLACE "=" "_" FLAG_NAME "${FLAG_NAME}")
hosttrace_begin_flag_check()
omnitrace_begin_flag_check()
check_c_compiler_flag("-Werror" c_werror)
if(c_werror)
check_c_compiler_flag("${FLAG} -Werror" ${FLAG_NAME})
else()
check_c_compiler_flag("${FLAG}" ${FLAG_NAME})
endif()
hosttrace_end_flag_check()
omnitrace_end_flag_check()
if(${FLAG_NAME})
target_compile_options(${_TARG_TARGET} ${_TARG_MODE}
$<$<COMPILE_LANGUAGE:${_LANG}>:${_FLAG}>)
@@ -394,14 +394,14 @@ function(HOSTTRACE_TARGET_FLAG _TARG_TARGET)
string(REPLACE "-" "_" FLAG_NAME "${FLAG_NAME}")
string(REPLACE " " "_" FLAG_NAME "${FLAG_NAME}")
string(REPLACE "=" "_" FLAG_NAME "${FLAG_NAME}")
hosttrace_begin_flag_check()
omnitrace_begin_flag_check()
check_cxx_compiler_flag("-Werror" cxx_werror)
if(cxx_werror)
check_cxx_compiler_flag("${FLAG} -Werror" ${FLAG_NAME})
else()
check_cxx_compiler_flag("${FLAG}" ${FLAG_NAME})
endif()
hosttrace_end_flag_check()
omnitrace_end_flag_check()
if(${FLAG_NAME})
target_compile_options(${_TARG_TARGET} ${_TARG_MODE}
$<$<COMPILE_LANGUAGE:${_LANG}>:${_FLAG}>)
@@ -424,7 +424,7 @@ endfunction()
# ----------------------------------------------------------------------------------------#
macro(ADD_TARGET_CUDA_FLAG _TARG)
string(REPLACE "-" "_" _MAKE_TARG "${_TARG}")
list(APPEND HOSTTRACE_MAKE_TARGETS ${_MAKE_TARG})
list(APPEND OMNITRACE_MAKE_TARGETS ${_MAKE_TARG})
target_compile_options(${_TARG} INTERFACE $<$<COMPILE_LANGUAGE:CUDA>:${ARGN}>)
list(APPEND ${_MAKE_TARG}_CUDA_FLAGS ${ARGN})
@@ -455,7 +455,7 @@ endfunction()
# ----------------------------------------------------------------------------------------#
# add compiler definition
# ----------------------------------------------------------------------------------------#
function(HOSTTRACE_TARGET_COMPILE_DEFINITIONS _TARG _VIS)
function(OMNITRACE_TARGET_COMPILE_DEFINITIONS _TARG _VIS)
foreach(_DEF ${ARGN})
target_compile_definitions(${_TARG} ${_VIS} $<$<COMPILE_LANGUAGE:CXX>:${_DEF}>)
if(CMAKE_CUDA_COMPILER_IS_NVIDIA)
+1 -1
View File
@@ -25,7 +25,7 @@ if(DYNINST_BUILD_ELFUTILS)
endif()
# Debian package specific variables
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/AARInternal/hosttrace-dyninst")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/AARInternal/omnitrace-dyninst")
if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE})
set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE})
else()
+11 -11
View File
@@ -7,14 +7,14 @@ include_guard(DIRECTORY)
# ----------------------------------------------------------------------------------------#
# clang-tidy
macro(HOSTTRACE_ACTIVATE_CLANG_TIDY)
if(HOSTTRACE_USE_CLANG_TIDY)
macro(OMNITRACE_ACTIVATE_CLANG_TIDY)
if(OMNITRACE_USE_CLANG_TIDY)
find_program(CLANG_TIDY_COMMAND NAMES clang-tidy)
hosttrace_add_feature(CLANG_TIDY_COMMAND "Path to clang-tidy command")
omnitrace_add_feature(CLANG_TIDY_COMMAND "Path to clang-tidy command")
if(NOT CLANG_TIDY_COMMAND)
timemory_message(
WARNING "HOSTTRACE_USE_CLANG_TIDY is ON but clang-tidy is not found!")
set(HOSTTRACE_USE_CLANG_TIDY OFF)
WARNING "OMNITRACE_USE_CLANG_TIDY is ON but clang-tidy is not found!")
set(OMNITRACE_USE_CLANG_TIDY OFF)
else()
set(CMAKE_CXX_CLANG_TIDY ${CLANG_TIDY_COMMAND})
@@ -37,22 +37,22 @@ endmacro()
#
# ------------------------------------------------------------------------------#
find_program(HOSTTRACE_CLANG_FORMAT_EXE NAMES clang-format-11 clang-format-mp-11
find_program(OMNITRACE_CLANG_FORMAT_EXE NAMES clang-format-11 clang-format-mp-11
clang-format)
if(HOSTTRACE_CLANG_FORMAT_EXE)
if(OMNITRACE_CLANG_FORMAT_EXE)
file(GLOB_RECURSE sources ${PROJECT_SOURCE_DIR}/src/*.cpp)
file(GLOB_RECURSE headers ${PROJECT_SOURCE_DIR}/include/*.hpp)
file(GLOB_RECURSE examples ${PROJECT_SOURCE_DIR}/examples/*.cpp
${PROJECT_SOURCE_DIR}/examples/*.hpp)
add_custom_target(
format-hosttrace
${HOSTTRACE_CLANG_FORMAT_EXE} -i ${sources} ${headers} ${examples}
COMMENT "Running C++ formatter ${HOSTTRACE_CLANG_FORMAT_EXE}...")
format-omnitrace
${OMNITRACE_CLANG_FORMAT_EXE} -i ${sources} ${headers} ${examples}
COMMENT "Running C++ formatter ${OMNITRACE_CLANG_FORMAT_EXE}...")
if(NOT TARGET format)
add_custom_target(format)
endif()
add_dependencies(format format-hosttrace)
add_dependencies(format format-omnitrace)
else()
message(
AUTHOR_WARNING
+43 -43
View File
@@ -12,19 +12,19 @@ include(CMakeDependentOption)
include(CMakeParseArguments)
# -----------------------------------------------------------------------
# message which handles HOSTTRACE_QUIET_CONFIG settings
# message which handles OMNITRACE_QUIET_CONFIG settings
# -----------------------------------------------------------------------
#
function(HOSTTRACE_MESSAGE TYPE)
if(NOT HOSTTRACE_QUIET_CONFIG)
message(${TYPE} "[hosttrace] ${ARGN}")
function(OMNITRACE_MESSAGE TYPE)
if(NOT OMNITRACE_QUIET_CONFIG)
message(${TYPE} "[omnitrace] ${ARGN}")
endif()
endfunction()
# -----------------------------------------------------------------------
# Save a set of variables with the given prefix
# -----------------------------------------------------------------------
macro(HOSTTRACE_SAVE_VARIABLES _PREFIX)
macro(OMNITRACE_SAVE_VARIABLES _PREFIX)
# parse args
cmake_parse_arguments(
SAVE
@@ -58,7 +58,7 @@ endmacro()
# -----------------------------------------------------------------------
# Restore a set of variables with the given prefix
# -----------------------------------------------------------------------
macro(HOSTTRACE_RESTORE_VARIABLES _PREFIX)
macro(OMNITRACE_RESTORE_VARIABLES _PREFIX)
# parse args
cmake_parse_arguments(
RESTORE
@@ -92,10 +92,10 @@ macro(HOSTTRACE_RESTORE_VARIABLES _PREFIX)
endmacro()
# -----------------------------------------------------------------------
# function - hosttrace_capitalize - make a string capitalized (first letter is capital)
# function - omnitrace_capitalize - make a string capitalized (first letter is capital)
# usage: capitalize("SHARED" CShared) message(STATUS "-- CShared is \"${CShared}\"") $ --
# CShared is "Shared"
function(HOSTTRACE_CAPITALIZE str var)
function(OMNITRACE_CAPITALIZE str var)
# make string lower
string(TOLOWER "${str}" str)
string(SUBSTRING "${str}" 0 1 _first)
@@ -108,14 +108,14 @@ function(HOSTTRACE_CAPITALIZE str var)
endfunction()
# ------------------------------------------------------------------------------#
# function add_hosttrace_test_target()
# function add_omnitrace_test_target()
#
# Creates a target which runs ctest but depends on all the tests being built.
#
function(ADD_HOSTTRACE_TEST_TARGET)
if(NOT TARGET hosttrace-test)
function(ADD_OMNITRACE_TEST_TARGET)
if(NOT TARGET omnitrace-test)
add_custom_target(
hosttrace-test
omnitrace-test
COMMAND ${CMAKE_COMMAND} --build ${PROJECT_BINARY_DIR} --target test
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
COMMENT "Running tests...")
@@ -123,7 +123,7 @@ function(ADD_HOSTTRACE_TEST_TARGET)
endfunction()
# ----------------------------------------------------------------------------------------#
# macro hosttrace_checkout_git_submodule()
# macro omnitrace_checkout_git_submodule()
#
# Run "git submodule update" if a file in a submodule does not exist
#
@@ -132,7 +132,7 @@ endfunction()
# value) -- (default: PROJECT_SOURCE_DIR) TEST_FILE (one value) -- file to check for
# (default: CMakeLists.txt) ADDITIONAL_CMDS (many value) -- any addition commands to pass
#
function(HOSTTRACE_CHECKOUT_GIT_SUBMODULE)
function(OMNITRACE_CHECKOUT_GIT_SUBMODULE)
# parse args
cmake_parse_arguments(
CHECKOUT "RECURSIVE"
@@ -201,7 +201,7 @@ function(HOSTTRACE_CHECKOUT_GIT_SUBMODULE)
if(RET GREATER 0)
set(_CMD "${GIT_EXECUTABLE} submodule update --init ${_RECURSE}
${CHECKOUT_ADDITIONAL_CMDS} ${CHECKOUT_RELATIVE_PATH}")
message(STATUS "function(hosttrace_checkout_git_submodule) failed.")
message(STATUS "function(omnitrace_checkout_git_submodule) failed.")
message(FATAL_ERROR "Command: \"${_CMD}\"")
else()
set(_TEST_FILE_EXISTS ON)
@@ -241,7 +241,7 @@ function(HOSTTRACE_CHECKOUT_GIT_SUBMODULE)
"${GIT_EXECUTABLE} clone -b ${CHECKOUT_REPO_BRANCH}
${CHECKOUT_ADDITIONAL_CMDS} ${CHECKOUT_REPO_URL} ${CHECKOUT_RELATIVE_PATH}"
)
message(STATUS "function(hosttrace_checkout_git_submodule) failed.")
message(STATUS "function(omnitrace_checkout_git_submodule) failed.")
message(FATAL_ERROR "Command: \"${_CMD}\"")
else()
set(_TEST_FILE_EXISTS ON)
@@ -259,7 +259,7 @@ endfunction()
# ----------------------------------------------------------------------------------------#
# try to find a package quietly
#
function(HOSTTRACE_TEST_FIND_PACKAGE PACKAGE_NAME OUTPUT_VAR)
function(OMNITRACE_TEST_FIND_PACKAGE PACKAGE_NAME OUTPUT_VAR)
cmake_parse_arguments(PACKAGE "" "" "UNSET" ${ARGN})
find_package(${PACKAGE_NAME} QUIET ${PACKAGE_UNPARSED_ARGUMENTS})
if(NOT ${PACKAGE_NAME}_FOUND)
@@ -279,7 +279,7 @@ endfunction()
# ----------------------------------------------------------------------------------------#
# macro to add an interface lib
#
macro(HOSTTRACE_ADD_INTERFACE_LIBRARY _TARGET)
macro(OMNITRACE_ADD_INTERFACE_LIBRARY _TARGET)
add_library(${_TARGET} INTERFACE)
add_library(${PROJECT_NAME}::${_TARGET} ALIAS ${_TARGET})
install(
@@ -293,7 +293,7 @@ macro(HOSTTRACE_ADD_INTERFACE_LIBRARY _TARGET)
endif()
endmacro()
function(HOSTTRACE_ADD_RPATH)
function(OMNITRACE_ADD_RPATH)
set(_DIRS)
foreach(_ARG ${ARGN})
if(EXISTS "${_ARG}" AND IS_DIRECTORY "${_ARG}")
@@ -319,7 +319,7 @@ endfunction()
# specified by the existence of the variable <NAME>, to the list of enabled/disabled
# features, plus a docstring describing the feature
#
function(HOSTTRACE_ADD_FEATURE _var _description)
function(OMNITRACE_ADD_FEATURE _var _description)
set(EXTRA_DESC "")
foreach(currentArg ${ARGN})
if(NOT "${currentArg}" STREQUAL "${_var}"
@@ -336,12 +336,12 @@ function(HOSTTRACE_ADD_FEATURE _var _description)
if("CMAKE_DEFINE" IN_LIST ARGN)
set_property(GLOBAL APPEND PROPERTY ${PROJECT_NAME}_CMAKE_DEFINES
"${_var} @${_var}@")
if(HOSTTRACE_BUILD_DOCS)
if(OMNITRACE_BUILD_DOCS)
set_property(
GLOBAL APPEND PROPERTY ${PROJECT_NAME}_CMAKE_OPTIONS_DOC
"${_var}` | ${_description}${EXTRA_DESC} |")
endif()
elseif("DOC" IN_LIST ARGN AND HOSTTRACE_BUILD_DOCS)
elseif("DOC" IN_LIST ARGN AND OMNITRACE_BUILD_DOCS)
set_property(GLOBAL APPEND PROPERTY ${PROJECT_NAME}_CMAKE_OPTIONS_DOC
"${_var}` | ${_description}${EXTRA_DESC} |")
endif()
@@ -351,13 +351,13 @@ endfunction()
# function add_option(<OPTION_NAME> <DOCSRING> <DEFAULT_SETTING> [NO_FEATURE]) Add an
# option and add as a feature if NO_FEATURE is not provided
#
function(HOSTTRACE_ADD_OPTION _NAME _MESSAGE _DEFAULT)
function(OMNITRACE_ADD_OPTION _NAME _MESSAGE _DEFAULT)
option(${_NAME} "${_MESSAGE}" ${_DEFAULT})
if("NO_FEATURE" IN_LIST ARGN)
mark_as_advanced(${_NAME})
else()
hosttrace_add_feature(${_NAME} "${_MESSAGE}")
if(HOSTTRACE_BUILD_DOCS)
omnitrace_add_feature(${_NAME} "${_MESSAGE}")
if(OMNITRACE_BUILD_DOCS)
set_property(GLOBAL APPEND PROPERTY ${PROJECT_NAME}_CMAKE_OPTIONS_DOC
"${_NAME}` | ${_MESSAGE} |")
endif()
@@ -373,7 +373,7 @@ endfunction()
# ----------------------------------------------------------------------------------------#
# function print_enabled_features() Print enabled features plus their docstrings.
#
function(HOSTTRACE_PRINT_ENABLED_FEATURES)
function(OMNITRACE_PRINT_ENABLED_FEATURES)
set(_basemsg "The following features are defined/enabled (+):")
set(_currentFeatureText "${_basemsg}")
get_property(_features GLOBAL PROPERTY ${PROJECT_NAME}_FEATURES)
@@ -397,7 +397,7 @@ function(HOSTTRACE_PRINT_ENABLED_FEATURES)
string(REGEX REPLACE "^${PROJECT_NAME}_USE_" "" _feature_tmp
"${_feature}")
string(TOLOWER "${_feature_tmp}" _feature_tmp_l)
hosttrace_capitalize("${_feature_tmp}" _feature_tmp_c)
omnitrace_capitalize("${_feature_tmp}" _feature_tmp_c)
foreach(_var _feature _feature_tmp _feature_tmp_l _feature_tmp_c)
set(_ver "${${${_var}}_VERSION}")
if(NOT "${_ver}" STREQUAL "")
@@ -421,7 +421,7 @@ endfunction()
# ----------------------------------------------------------------------------------------#
# function print_disabled_features() Print disabled features plus their docstrings.
#
function(HOSTTRACE_PRINT_DISABLED_FEATURES)
function(OMNITRACE_PRINT_DISABLED_FEATURES)
set(_basemsg "The following features are NOT defined/enabled (-):")
set(_currentFeatureText "${_basemsg}")
get_property(_features GLOBAL PROPERTY ${PROJECT_NAME}_FEATURES)
@@ -450,9 +450,9 @@ endfunction()
# ----------------------------------------------------------------------------------------#
# function print_features() Print all features plus their docstrings.
#
function(HOSTTRACE_PRINT_FEATURES)
hosttrace_print_enabled_features()
hosttrace_print_disabled_features()
function(OMNITRACE_PRINT_FEATURES)
omnitrace_print_enabled_features()
omnitrace_print_disabled_features()
endfunction()
# ----------------------------------------------------------------------------------------#
@@ -462,26 +462,26 @@ endfunction()
# source files DIRECTORY --> all files in directory PROJECT --> all files/targets in
# a project/subproject
#
function(hosttrace_custom_compilation)
function(omnitrace_custom_compilation)
cmake_parse_arguments(COMP "GLOBAL;PROJECT" "COMPILER" "DIRECTORY;TARGET;SOURCE"
${ARGN})
# find hosttrace_launch_compiler
# find omnitrace_launch_compiler
find_program(
HOSTTRACE_COMPILE_LAUNCHER
NAMES hosttrace_launch_compiler
OMNITRACE_COMPILE_LAUNCHER
NAMES omnitrace_launch_compiler
HINTS ${PROJECT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}
PATHS ${PROJECT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}
PATH_SUFFIXES scripts bin)
if(NOT COMP_COMPILER)
message(FATAL_ERROR "hosttrace_custom_compilation not provided COMPILER argument")
message(FATAL_ERROR "omnitrace_custom_compilation not provided COMPILER argument")
endif()
if(NOT HOSTTRACE_COMPILE_LAUNCHER)
if(NOT OMNITRACE_COMPILE_LAUNCHER)
message(
FATAL_ERROR
"hosttrace could not find 'hosttrace_launch_compiler'. Please set '-DHOSTTRACE_COMPILE_LAUNCHER=/path/to/launcher'"
"omnitrace could not find 'omnitrace_launch_compiler'. Please set '-DOMNITRACE_COMPILE_LAUNCHER=/path/to/launcher'"
)
endif()
@@ -491,16 +491,16 @@ function(hosttrace_custom_compilation)
GLOBAL
PROPERTY
RULE_LAUNCH_COMPILE
"${HOSTTRACE_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}")
"${OMNITRACE_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}")
set_property(
GLOBAL
PROPERTY
RULE_LAUNCH_LINK
"${HOSTTRACE_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}")
"${OMNITRACE_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}")
else()
foreach(_TYPE PROJECT DIRECTORY TARGET SOURCE)
# make project/subproject scoping easy, e.g.
# hosttrace_custom_compilation(PROJECT) after project(...)
# omnitrace_custom_compilation(PROJECT) after project(...)
if("${_TYPE}" STREQUAL "PROJECT" AND COMP_${_TYPE})
list(APPEND COMP_DIRECTORY ${PROJECT_SOURCE_DIR})
unset(COMP_${_TYPE})
@@ -512,13 +512,13 @@ function(hosttrace_custom_compilation)
${_TYPE} ${_VAL}
PROPERTY
RULE_LAUNCH_COMPILE
"${HOSTTRACE_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}"
"${OMNITRACE_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}"
)
set_property(
${_TYPE} ${_VAL}
PROPERTY
RULE_LAUNCH_LINK
"${HOSTTRACE_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}"
"${OMNITRACE_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}"
)
endforeach()
endif()
+63 -63
View File
@@ -7,22 +7,22 @@ include_guard(DIRECTORY)
#
# ########################################################################################
hosttrace_add_interface_library(
hosttrace-headers "Provides minimal set of include flags to compile with hosttrace")
hosttrace_add_interface_library(hosttrace-threading "Enables multithreading support")
hosttrace_add_interface_library(
hosttrace-dyninst
omnitrace_add_interface_library(
omnitrace-headers "Provides minimal set of include flags to compile with omnitrace")
omnitrace_add_interface_library(omnitrace-threading "Enables multithreading support")
omnitrace_add_interface_library(
omnitrace-dyninst
"Provides flags and libraries for Dyninst (dynamic instrumentation)")
hosttrace_add_interface_library(hosttrace-roctracer
omnitrace_add_interface_library(omnitrace-roctracer
"Provides flags and libraries for roctracer")
hosttrace_add_interface_library(hosttrace-mpi "Provides MPI or MPI headers")
hosttrace_add_interface_library(hosttrace-ptl "Enables PTL support (tasking)")
omnitrace_add_interface_library(omnitrace-mpi "Provides MPI or MPI headers")
omnitrace_add_interface_library(omnitrace-ptl "Enables PTL support (tasking)")
target_include_directories(hosttrace-headers INTERFACE ${PROJECT_SOURCE_DIR}/include
target_include_directories(omnitrace-headers INTERFACE ${PROJECT_SOURCE_DIR}/include
${PROJECT_BINARY_DIR}/include)
# include threading because of rooflines
target_link_libraries(hosttrace-headers INTERFACE hosttrace-threading)
target_link_libraries(omnitrace-headers INTERFACE omnitrace-threading)
# ----------------------------------------------------------------------------------------#
#
@@ -37,14 +37,14 @@ endif()
find_library(pthread_LIBRARY NAMES pthread pthreads)
find_package_handle_standard_args(pthread-library REQUIRED_VARS pthread_LIBRARY)
find_package(Threads ${hosttrace_FIND_QUIETLY} ${hosttrace_FIND_REQUIREMENT})
find_package(Threads ${omnitrace_FIND_QUIETLY} ${omnitrace_FIND_REQUIREMENT})
if(Threads_FOUND)
target_link_libraries(hosttrace-threading INTERFACE ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries(omnitrace-threading INTERFACE ${CMAKE_THREAD_LIBS_INIT})
endif()
if(pthread_LIBRARY AND NOT WIN32)
target_link_libraries(hosttrace-threading INTERFACE ${pthread_LIBRARY})
target_link_libraries(omnitrace-threading INTERFACE ${pthread_LIBRARY})
endif()
# ----------------------------------------------------------------------------------------#
@@ -53,12 +53,12 @@ endif()
#
# ----------------------------------------------------------------------------------------#
if(HOSTTRACE_USE_ROCTRACER)
if(OMNITRACE_USE_ROCTRACER)
list(APPEND CMAKE_PREFIX_PATH /opt/rocm)
find_package(roctracer ${hosttrace_FIND_QUIETLY} REQUIRED)
find_package(hip ${hosttrace_FIND_QUIETLY} REQUIRED)
target_compile_definitions(hosttrace-roctracer INTERFACE HOSTTRACE_USE_ROCTRACER)
target_link_libraries(hosttrace-roctracer INTERFACE hip::host roctracer::roctracer)
find_package(roctracer ${omnitrace_FIND_QUIETLY} REQUIRED)
find_package(hip ${omnitrace_FIND_QUIETLY} REQUIRED)
target_compile_definitions(omnitrace-roctracer INTERFACE OMNITRACE_USE_ROCTRACER)
target_link_libraries(omnitrace-roctracer INTERFACE hip::host roctracer::roctracer)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:${roctracer_LIBRARY_DIRS}")
endif()
@@ -68,14 +68,14 @@ endif()
#
# ----------------------------------------------------------------------------------------#
if(HOSTTRACE_USE_MPI)
find_package(MPI ${hosttrace_FIND_QUIETLY} REQUIRED)
target_link_libraries(hosttrace-mpi INTERFACE MPI::MPI_C MPI::MPI_CXX)
elseif(HOSTTRACE_USE_MPI_HEADERS)
find_package(MPI-Headers ${hosttrace_FIND_QUIETLY} REQUIRED)
target_compile_definitions(hosttrace-mpi INTERFACE TIMEMORY_USE_MPI_HEADERS
HOSTTRACE_USE_MPI_HEADERS)
target_link_libraries(hosttrace-mpi INTERFACE MPI::MPI_HEADERS)
if(OMNITRACE_USE_MPI)
find_package(MPI ${omnitrace_FIND_QUIETLY} REQUIRED)
target_link_libraries(omnitrace-mpi INTERFACE MPI::MPI_C MPI::MPI_CXX)
elseif(OMNITRACE_USE_MPI_HEADERS)
find_package(MPI-Headers ${omnitrace_FIND_QUIETLY} REQUIRED)
target_compile_definitions(omnitrace-mpi INTERFACE TIMEMORY_USE_MPI_HEADERS
OMNITRACE_USE_MPI_HEADERS)
target_link_libraries(omnitrace-mpi INTERFACE MPI::MPI_HEADERS)
endif()
# ----------------------------------------------------------------------------------------#
@@ -84,8 +84,8 @@ endif()
#
# ----------------------------------------------------------------------------------------#
if(HOSTTRACE_BUILD_DYNINST)
hosttrace_checkout_git_submodule(
if(OMNITRACE_BUILD_DYNINST)
omnitrace_checkout_git_submodule(
RELATIVE_PATH external/dyninst
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
REPO_URL https://github.com/jrmadsen/dyninst.git
@@ -109,56 +109,56 @@ if(HOSTTRACE_BUILD_DYNINST)
OFF
CACHE BOOL "Enable LTO for dyninst libraries")
hosttrace_save_variables(PIC VARIABLES CMAKE_POSITION_INDEPENDENT_CODE)
omnitrace_save_variables(PIC VARIABLES CMAKE_POSITION_INDEPENDENT_CODE)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
add_subdirectory(external/dyninst)
hosttrace_restore_variables(PIC VARIABLES CMAKE_POSITION_INDEPENDENT_CODE)
omnitrace_restore_variables(PIC VARIABLES CMAKE_POSITION_INDEPENDENT_CODE)
add_library(Dyninst::Dyninst INTERFACE IMPORTED)
foreach(_LIB common dyninstAPI parseAPI instructionAPI symtabAPI stackwalk Boost TBB)
target_link_libraries(Dyninst::Dyninst INTERFACE Dyninst::${_LIB})
endforeach()
target_link_libraries(hosttrace-dyninst INTERFACE Dyninst::Dyninst)
target_link_libraries(omnitrace-dyninst INTERFACE Dyninst::Dyninst)
set(HOSTTRACE_DYNINST_API_RT
set(OMNITRACE_DYNINST_API_RT
${PROJECT_BINARY_DIR}/external/dyninst/dyninstAPI_RT/libdyninstAPI_RT${CMAKE_SHARED_LIBRARY_SUFFIX}
)
if(HOSTTRACE_DYNINST_API_RT)
if(OMNITRACE_DYNINST_API_RT)
target_compile_definitions(
hosttrace-dyninst
omnitrace-dyninst
INTERFACE
DYNINST_API_RT="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}:$<TARGET_FILE_DIR:Dyninst::dyninstAPI_RT>:${CMAKE_INSTALL_PREFIX}/lib/$<TARGET_FILE_NAME:Dyninst::dyninstAPI_RT>:$<TARGET_FILE:Dyninst::dyninstAPI_RT>"
)
endif()
else()
find_package(Dyninst ${hosttrace_FIND_QUIETLY} REQUIRED
find_package(Dyninst ${omnitrace_FIND_QUIETLY} REQUIRED
COMPONENTS dyninstAPI parseAPI instructionAPI symtabAPI)
if(TARGET Dyninst::Dyninst) # updated Dyninst CMake system was found
# useful for defining the location of the runtime API
find_library(
HOSTTRACE_DYNINST_API_RT dyninstAPI_RT
OMNITRACE_DYNINST_API_RT dyninstAPI_RT
HINTS ${Dyninst_ROOT_DIR} ${Dyninst_DIR}
PATHS ${Dyninst_ROOT_DIR} ${Dyninst_DIR}
PATH_SUFFIXES lib)
if(HOSTTRACE_DYNINST_API_RT)
if(OMNITRACE_DYNINST_API_RT)
target_compile_definitions(
hosttrace-dyninst INTERFACE DYNINST_API_RT="${HOSTTRACE_DYNINST_API_RT}")
omnitrace-dyninst INTERFACE DYNINST_API_RT="${OMNITRACE_DYNINST_API_RT}")
endif()
hosttrace_add_rpath(${Dyninst_LIBRARIES})
target_link_libraries(hosttrace-dyninst INTERFACE Dyninst::Dyninst)
omnitrace_add_rpath(${Dyninst_LIBRARIES})
target_link_libraries(omnitrace-dyninst INTERFACE Dyninst::Dyninst)
else() # updated Dyninst CMake system was not found
set(_BOOST_COMPONENTS atomic system thread date_time)
set(hosttrace_BOOST_COMPONENTS
set(omnitrace_BOOST_COMPONENTS
"${_BOOST_COMPONENTS}"
CACHE STRING "Boost components used by Dyninst in hosttrace")
CACHE STRING "Boost components used by Dyninst in omnitrace")
set(Boost_NO_BOOST_CMAKE ON)
find_package(Boost QUIET REQUIRED COMPONENTS ${hosttrace_BOOST_COMPONENTS})
find_package(Boost QUIET REQUIRED COMPONENTS ${omnitrace_BOOST_COMPONENTS})
# some installs of dyninst don't set this properly
if(EXISTS "${DYNINST_INCLUDE_DIR}" AND NOT DYNINST_HEADER_DIR)
@@ -175,7 +175,7 @@ else()
# useful for defining the location of the runtime API
find_library(
HOSTTRACE_DYNINST_API_RT dyninstAPI_RT
OMNITRACE_DYNINST_API_RT dyninstAPI_RT
HINTS ${Dyninst_ROOT_DIR} ${Dyninst_DIR}
PATHS ${Dyninst_ROOT_DIR} ${Dyninst_DIR}
PATH_SUFFIXES lib)
@@ -196,9 +196,9 @@ else()
PATH_SUFFIXES include)
endif()
if(HOSTTRACE_DYNINST_API_RT)
if(OMNITRACE_DYNINST_API_RT)
target_compile_definitions(
hosttrace-dyninst INTERFACE DYNINST_API_RT="${HOSTTRACE_DYNINST_API_RT}")
omnitrace-dyninst INTERFACE DYNINST_API_RT="${OMNITRACE_DYNINST_API_RT}")
endif()
if(Boost_DIR)
@@ -209,8 +209,8 @@ else()
endif()
endif()
hosttrace_add_rpath(${DYNINST_LIBRARIES} ${Boost_LIBRARIES})
target_link_libraries(hosttrace-dyninst INTERFACE ${DYNINST_LIBRARIES}
omnitrace_add_rpath(${DYNINST_LIBRARIES} ${Boost_LIBRARIES})
target_link_libraries(omnitrace-dyninst INTERFACE ${DYNINST_LIBRARIES}
${Boost_LIBRARIES})
foreach(
_TARG
@@ -226,17 +226,17 @@ else()
date_time
TBB)
if(TARGET Dyninst::${_TARG})
target_link_libraries(hosttrace-dyninst INTERFACE Dyninst::${_TARG})
target_link_libraries(omnitrace-dyninst INTERFACE Dyninst::${_TARG})
elseif(TARGET Boost::${_TARG})
target_link_libraries(hosttrace-dyninst INTERFACE Boost::${_TARG})
target_link_libraries(omnitrace-dyninst INTERFACE Boost::${_TARG})
elseif(TARGET ${_TARG})
target_link_libraries(hosttrace-dyninst INTERFACE ${_TARG})
target_link_libraries(omnitrace-dyninst INTERFACE ${_TARG})
endif()
endforeach()
target_include_directories(
hosttrace-dyninst SYSTEM INTERFACE ${TBB_INCLUDE_DIR} ${Boost_INCLUDE_DIRS}
omnitrace-dyninst SYSTEM INTERFACE ${TBB_INCLUDE_DIR} ${Boost_INCLUDE_DIRS}
${DYNINST_HEADER_DIR})
target_compile_definitions(hosttrace-dyninst INTERFACE hosttrace_USE_DYNINST)
target_compile_definitions(omnitrace-dyninst INTERFACE omnitrace_USE_DYNINST)
endif()
endif()
@@ -247,7 +247,7 @@ endif()
# ----------------------------------------------------------------------------------------#
set(perfetto_DIR ${PROJECT_SOURCE_DIR}/external/perfetto)
hosttrace_checkout_git_submodule(
omnitrace_checkout_git_submodule(
RELATIVE_PATH external/perfetto
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
REPO_URL https://android.googlesource.com/platform/external/perfetto
@@ -260,8 +260,8 @@ hosttrace_checkout_git_submodule(
#
# ----------------------------------------------------------------------------------------#
if(HOSTTRACE_BUILD_DEVICETRACE)
hosttrace_checkout_git_submodule(
if(OMNITRACE_BUILD_DEVICETRACE)
omnitrace_checkout_git_submodule(
RELATIVE_PATH external/elfio
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
REPO_URL https://github.com/jrmadsen/ELFIO.git
@@ -317,13 +317,13 @@ set(TIMEMORY_TLS_MODEL
"global-dynamic"
CACHE STRING "Thread-local static model" FORCE)
hosttrace_checkout_git_submodule(
omnitrace_checkout_git_submodule(
RELATIVE_PATH external/timemory
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
REPO_URL https://github.com/NERSC/timemory.git
REPO_BRANCH gpu-kernel-instrumentation)
hosttrace_save_variables(BUILD_CONFIG VARIABLES BUILD_SHARED_LIBS BUILD_STATIC_LIBS
omnitrace_save_variables(BUILD_CONFIG VARIABLES BUILD_SHARED_LIBS BUILD_STATIC_LIBS
CMAKE_POSITION_INDEPENDENT_CODE)
# ensure timemory builds PIC static libs so that we don't have to install timemory shared
@@ -334,7 +334,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
add_subdirectory(external/timemory)
hosttrace_restore_variables(BUILD_CONFIG VARIABLES BUILD_SHARED_LIBS BUILD_STATIC_LIBS
omnitrace_restore_variables(BUILD_CONFIG VARIABLES BUILD_SHARED_LIBS BUILD_STATIC_LIBS
CMAKE_POSITION_INDEPENDENT_CODE)
# ----------------------------------------------------------------------------------------#
@@ -345,7 +345,7 @@ hosttrace_restore_variables(BUILD_CONFIG VARIABLES BUILD_SHARED_LIBS BUILD_STATI
# timemory might provide PTL::ptl-shared
if(NOT TARGET PTL::ptl-shared)
hosttrace_checkout_git_submodule(
omnitrace_checkout_git_submodule(
RELATIVE_PATH external/PTL
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
REPO_URL https://github.com/jrmadsen/PTL.git
@@ -356,7 +356,7 @@ if(NOT TARGET PTL::ptl-shared)
set(PTL_USE_GPU OFF)
set(PTL_DEVELOPER_INSTALL OFF)
hosttrace_save_variables(
omnitrace_save_variables(
BUILD_CONFIG
VARIABLES BUILD_SHARED_LIBS BUILD_STATIC_LIBS CMAKE_POSITION_INDEPENDENT_CODE
CMAKE_CXX_VISIBILITY_PRESET CMAKE_VISIBILITY_INLINES_HIDDEN)
@@ -367,10 +367,10 @@ if(NOT TARGET PTL::ptl-shared)
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
add_subdirectory(external/PTL)
hosttrace_restore_variables(
omnitrace_restore_variables(
BUILD_CONFIG
VARIABLES BUILD_SHARED_LIBS BUILD_STATIC_LIBS CMAKE_POSITION_INDEPENDENT_CODE
CMAKE_CXX_VISIBILITY_PRESET CMAKE_VISIBILITY_INLINES_HIDDEN)
endif()
target_link_libraries(hosttrace-ptl INTERFACE PTL::ptl-shared)
target_link_libraries(omnitrace-ptl INTERFACE PTL::ptl-shared)