d04cbe862e
* fix omnitrace print-* with libraries * timemory submodule update * Update workflows to use ./bin/omnitrace instead of ./omnitrace * cmake format * update timemory submodule - fix ODR violations in utility/procfs * cmake updates - uniform find_package for all ROCm-based libraries * tweak transpose example - throw exception instead of std::exit * Inspect cmdv name before assuming not exe - some ELF execs "think" they are libraries so only assume rewrite + simulate + all-functions if filename looks like library - adds some test for --print-available -- <library> * Fix _has_lib_prefix when command is < 3 * Updates and reverts to omnitrace exe - update module_function operator< and operator== - add function_signature operator< - refactor module_function ctor - revert some previous changes w.r.t. simulate and include_unninstr * Fix source/bin/tests to use same output dir as tests * cmake format * Segfault mitigation + refactor + modify function iteration - refactor module_function ctor to avoid segfaults - string_t -> std::string - replace std::string with std::string_view in some places - get_name(module_t*) - get_name(procedure_t*) - disable using both app_modules and app_functions - new option: --parse-all-modules to iterate over app_modules - removed some unused code w.r.t. debug info * Disable module_function address range for uninstrumentable functions * Disable module_function address range for uninstrumentable functions * Refactored getting file/line info and init/fini - use dyninst insertInitCallback and insertFiniCallback if main not found - fixed all issues with segmentation faults in --simulate --all-functions * revert changes to Findrocprofiler.cmake
43 satır
1.6 KiB
CMake
43 satır
1.6 KiB
CMake
# ------------------------------------------------------------------------------#
|
|
#
|
|
# omnitrace user library
|
|
#
|
|
# ------------------------------------------------------------------------------#
|
|
|
|
set(CMAKE_BUILD_TYPE "Release")
|
|
set(CMAKE_SKIP_RPATH OFF)
|
|
set(BUILD_RPATH_USE_ORIGIN ON)
|
|
set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
|
|
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
|
|
|
|
add_library(omnitrace-user-library SHARED)
|
|
add_library(omnitrace::omnitrace-user-library ALIAS omnitrace-user-library)
|
|
|
|
target_sources(
|
|
omnitrace-user-library PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/user.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/omnitrace/user.h)
|
|
target_include_directories(
|
|
omnitrace-user-library PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
|
target_link_libraries(omnitrace-user-library
|
|
PRIVATE $<BUILD_INTERFACE:omnitrace::omnitrace-compile-definitions>)
|
|
|
|
set_target_properties(
|
|
omnitrace-user-library
|
|
PROPERTIES OUTPUT_NAME omnitrace-user
|
|
VERSION ${PROJECT_VERSION}
|
|
SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
|
POSITION_INDEPENDENT_CODE ON
|
|
BUILD_RPATH "\$ORIGIN"
|
|
INSTALL_RPATH "\$ORIGIN")
|
|
|
|
omnitrace_strip_target(omnitrace-user-library)
|
|
|
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/omnitrace/user.h
|
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/omnitrace)
|
|
|
|
install(
|
|
TARGETS omnitrace-user-library
|
|
EXPORT omnitrace-library-targets
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR})
|