fadcfa36da
* Rework submodule installation - use add_subdirectory(... EXCLUDE_FROM_ALL) + explicit installation of deps - install all library deps to lib/omnitrace - internal builds of dyninst use libomnitrace-rt for binary rewriting - support libdyninstAPI_RT not in LD_LIBRARY_PATH when dyninst built internally * Update ubuntu-focal to test full dyninst install * Use RelWithDebInfo because Dyninst segfaults with MinSizeRel * Fix ubuntu-focal.yml install step
54 lines
1.8 KiB
CMake
54 lines
1.8 KiB
CMake
# ------------------------------------------------------------------------------#
|
|
#
|
|
# omnitrace-exe target
|
|
#
|
|
# ------------------------------------------------------------------------------#
|
|
|
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)
|
|
|
|
add_executable(omnitrace-exe ${_EXCLUDE})
|
|
|
|
target_sources(
|
|
omnitrace-exe
|
|
PRIVATE ${CMAKE_CURRENT_LIST_DIR}/omnitrace.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/details.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/function_signature.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/module_function.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/omnitrace.hpp
|
|
${CMAKE_CURRENT_LIST_DIR}/info.hpp
|
|
${CMAKE_CURRENT_LIST_DIR}/fwd.hpp
|
|
${CMAKE_CURRENT_LIST_DIR}/function_signature.hpp
|
|
${CMAKE_CURRENT_LIST_DIR}/module_function.hpp)
|
|
|
|
target_link_libraries(
|
|
omnitrace-exe
|
|
PRIVATE omnitrace::omnitrace-headers
|
|
omnitrace::omnitrace-dyninst
|
|
omnitrace::omnitrace-compile-options
|
|
omnitrace::omnitrace-compile-definitions
|
|
timemory::timemory-headers
|
|
$<IF:$<BOOL:${OMNITRACE_USE_SANITIZER}>,omnitrace::omnitrace-sanitizer,>)
|
|
|
|
set_target_properties(
|
|
omnitrace-exe
|
|
PROPERTIES OUTPUT_NAME omnitrace
|
|
BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}"
|
|
INSTALL_RPATH_USE_LINK_PATH ON
|
|
INSTALL_RPATH "${OMNITRACE_EXE_INSTALL_RPATH}")
|
|
|
|
if(OMNITRACE_BUILD_DYNINST)
|
|
target_compile_definitions(omnitrace-exe PRIVATE OMNITRACE_BUILD_DYNINST=1)
|
|
endif()
|
|
|
|
omnitrace_strip_target(omnitrace-exe)
|
|
|
|
if(CMAKE_BUILD_TYPE MATCHES "^(DEBUG|Debug)")
|
|
string(REPLACE " " ";" _FLAGS "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
|
target_compile_options(omnitrace-exe PRIVATE ${_FLAGS})
|
|
endif()
|
|
|
|
install(
|
|
TARGETS omnitrace-exe
|
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
OPTIONAL)
|