Files
rocm-systems/projects/rocprofiler-systems/source/lib/omnitrace/CMakeLists.txt
T
Jonathan R. Madsen 8ad58c5d28 Build omnitrace-rt library (#355)
* Build omnitrace-rt library

- Explicitly build dyninstAPI_RT as omnitrace-rt so that the SONAME in the ELF is omnitrace-rt instead of dyninstAPI_RT
- Create symbolic link lib/omnitrace/libdyninstAPI_RT.so which points to lib/libomnitrace-rt.so
- Simplify build tree location of libomnitrace-rt.so since it is ../lib from the bin directory even in the build tree
- Update dyninst submodule with minor tweaks to dyninstAPI_RT/CMakeLists.txt

* Update source/lib/omnitrace-rt/cmake/platform.cmake

* Use ftpmirror.gnu.org instead of ftp.gnu.org

- in timemory and dyninst submodules
- minor .clang-tidy tweak

[ROCm/rocprofiler-systems commit: 0cf017251e]
2024-06-27 16:51:43 -05:00

65 lines
2.4 KiB
CMake

# ------------------------------------------------------------------------------#
#
# omnitrace object library
#
# ------------------------------------------------------------------------------#
add_library(omnitrace-object-library OBJECT)
add_library(omnitrace::omnitrace-object-library ALIAS omnitrace-object-library)
target_sources(
omnitrace-object-library
PRIVATE ${CMAKE_CURRENT_LIST_DIR}/library.cpp ${CMAKE_CURRENT_LIST_DIR}/regions.cpp
${CMAKE_CURRENT_LIST_DIR}/progress.cpp ${CMAKE_CURRENT_LIST_DIR}/api.cpp
${CMAKE_CURRENT_LIST_DIR}/timeout.cpp ${CMAKE_CURRENT_LIST_DIR}/api.hpp)
add_subdirectory(library)
target_link_libraries(omnitrace-object-library
PRIVATE omnitrace::omnitrace-interface-library)
# ------------------------------------------------------------------------------#
#
# omnitrace static library
#
# ------------------------------------------------------------------------------#
add_library(omnitrace-static-library STATIC $<TARGET_OBJECTS:omnitrace-object-library>)
add_library(omnitrace::libomnitrace-static ALIAS omnitrace-static-library)
target_link_libraries(
omnitrace-static-library
PRIVATE omnitrace::omnitrace-interface-library omnitrace::omnitrace-core
omnitrace::omnitrace-binary)
set_target_properties(omnitrace-static-library PROPERTIES OUTPUT_NAME omnitrace)
# ------------------------------------------------------------------------------#
#
# omnitrace shared library
#
# ------------------------------------------------------------------------------#
add_library(omnitrace-shared-library SHARED $<TARGET_OBJECTS:omnitrace-object-library>)
add_library(omnitrace::libomnitrace-shared ALIAS omnitrace-shared-library)
add_library(omnitrace::omnitrace-library ALIAS omnitrace-shared-library)
target_link_libraries(
omnitrace-shared-library
PRIVATE omnitrace::omnitrace-interface-library omnitrace::omnitrace-core
omnitrace::omnitrace-binary)
set_target_properties(
omnitrace-shared-library
PROPERTIES OUTPUT_NAME omnitrace
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
INSTALL_RPATH "${OMNITRACE_LIB_INSTALL_RPATH}")
omnitrace_strip_target(omnitrace-shared-library)
install(
TARGETS omnitrace-shared-library
DESTINATION ${CMAKE_INSTALL_LIBDIR}
OPTIONAL)