8760fb4976
* attach: Formalize ROCAttach API - Make ROCAttach public with public headers - Change detach to take a PID - attach and detach are now reentrant - Cleanup of states and signal handling in ptrace session - Fixes mixed up definition of ROCPROF_ATTACH_TOOL_LIBRARY - ROCPROF_ATTACH_TOOL_LIBRARY now always means the tool library loaded by the attachment target - ROCPROF_ATTACH_LIBRARY refers to the library used to perform attachment - Add direct call of rocprof-attach - Fix python library call of rocprof-attach - Function now named attach(), changed from main() * attach: rocprof-compute ROCAttach updates - Update to new library names - Correct usage of C lib detach * attach: add test for rocattach - Disable ASan, TSan, and UBSan for the new parallel-attach test - Lower log level for LSan tests, existing behavior from other tests --------- Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
107 linhas
3.8 KiB
CMake
107 linhas
3.8 KiB
CMake
# include guard
|
|
include_guard(GLOBAL)
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
|
|
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME rocattach)
|
|
set(SDK_PACKAGE_NAME "${PROJECT_NAME}")
|
|
set(PACKAGE_NAME "${PROJECT_NAME}-rocattach")
|
|
|
|
install(
|
|
EXPORT ${PACKAGE_NAME}-targets
|
|
FILE ${PACKAGE_NAME}-targets.cmake
|
|
NAMESPACE ${SDK_PACKAGE_NAME}::
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}
|
|
COMPONENT rocattach)
|
|
|
|
rocprofiler_install_env_setup_files(
|
|
NAME ${PACKAGE_NAME}
|
|
VERSION ${PROJECT_VERSION}
|
|
INSTALL_DIR ${CMAKE_INSTALL_DATAROOTDIR}
|
|
COMPONENT rocattach)
|
|
|
|
# ------------------------------------------------------------------------------#
|
|
# install tree
|
|
#
|
|
set(PROJECT_INSTALL_DIR ${CMAKE_INSTALL_PREFIX})
|
|
set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
|
|
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
|
|
set(PROJECT_BUILD_TARGETS ${PACKAGE_NAME}-shared-library)
|
|
set(PROJECT_EXTRA_DIRS "${CMAKE_INSTALL_INCLUDEDIR}/${PACKAGE_NAME}")
|
|
|
|
configure_package_config_file(
|
|
${PROJECT_SOURCE_DIR}/cmake/Templates/${PACKAGE_NAME}/config.cmake.in
|
|
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}/${PACKAGE_NAME}-config.cmake
|
|
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}
|
|
INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}
|
|
PATH_VARS PROJECT_INSTALL_DIR INCLUDE_INSTALL_DIR LIB_INSTALL_DIR)
|
|
|
|
write_basic_package_version_file(
|
|
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}/${PACKAGE_NAME}-config-version.cmake
|
|
VERSION ${PROJECT_VERSION}
|
|
COMPATIBILITY SameMajorVersion)
|
|
|
|
install(
|
|
FILES
|
|
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}/${PACKAGE_NAME}-config.cmake
|
|
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}/${PACKAGE_NAME}-config-version.cmake
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}
|
|
COMPONENT rocattach)
|
|
|
|
export(PACKAGE ${PACKAGE_NAME})
|
|
|
|
# ------------------------------------------------------------------------------#
|
|
# build tree
|
|
#
|
|
set(${PACKAGE_NAME}_BUILD_TREE
|
|
ON
|
|
CACHE BOOL "" FORCE)
|
|
|
|
set(PROJECT_BUILD_TREE_TARGETS ${SDK_PACKAGE_NAME}::${PACKAGE_NAME}-shared-library
|
|
${SDK_PACKAGE_NAME}::${SDK_PACKAGE_NAME}-stack-protector)
|
|
|
|
configure_file(
|
|
${PROJECT_SOURCE_DIR}/cmake/Templates/${PACKAGE_NAME}/build-config.cmake.in
|
|
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}/${PACKAGE_NAME}-build-config.cmake
|
|
@ONLY)
|
|
|
|
file(RELATIVE_PATH rocp_bin2src_rel_path ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR})
|
|
string(REPLACE "//" "/" rocp_inc_rel_path "${rocp_bin2src_rel_path}/source/include")
|
|
|
|
set(_BUILDTREE_EXPORT_DIR
|
|
"${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}")
|
|
|
|
execute_process(
|
|
COMMAND ${CMAKE_COMMAND} -E create_symlink ${rocp_inc_rel_path}
|
|
${PROJECT_BINARY_DIR}/include WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
|
|
|
|
if(NOT EXISTS "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
|
|
file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
|
|
endif()
|
|
|
|
if(NOT EXISTS "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/${PACKAGE_NAME}")
|
|
file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/${PACKAGE_NAME}")
|
|
endif()
|
|
|
|
if(NOT EXISTS "${_BUILDTREE_EXPORT_DIR}")
|
|
file(MAKE_DIRECTORY "${_BUILDTREE_EXPORT_DIR}")
|
|
endif()
|
|
|
|
if(NOT EXISTS "${_BUILDTREE_EXPORT_DIR}/${PACKAGE_NAME}-targets.cmake")
|
|
file(TOUCH "${_BUILDTREE_EXPORT_DIR}/${PACKAGE_NAME}-targets.cmake")
|
|
endif()
|
|
|
|
export(
|
|
EXPORT ${PACKAGE_NAME}-targets
|
|
NAMESPACE ${PACKAGE_NAME}::
|
|
FILE "${_BUILDTREE_EXPORT_DIR}/${PACKAGE_NAME}-targets.cmake")
|
|
|
|
set(${PACKAGE_NAME}_DIR
|
|
"${_BUILDTREE_EXPORT_DIR}"
|
|
CACHE PATH "${PACKAGE_NAME} build tree install" FORCE)
|
|
|
|
install(
|
|
FILES ${PROJECT_SOURCE_DIR}/LICENSE.md
|
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/${PACKAGE_NAME}
|
|
COMPONENT rocattach)
|