a2288eb50b
* [rocprofiler-sdk] Install unit tests and helper functions for integration tests * Fix rocprofiler-sdk-tests-target export * Fix handling of cmake policy CMP0174 * Remove -vv from new pytest.ini files * add unit tests and integration tests. * add path to ci workflow. * misc. fixes. * pc sampling tests. * bug fixes. * pc sampling tests fix. * misc. * Update CMakeLists.txt * Update rocprofiler_config_install_tests.cmake, correct license name * fix units tests install issues. * fix counters_def file path. * fix bug, arg shifting. * vendor pytest-cmake. * cmake config fix. missing endfunction() * disable tests, 1.rocprofv3-trace-hip-libs. 2.kernel-tracing. 3.external_correlation 4.rocpd. * disable buffered-tracing test and remove pytest-cmake from requirements.txt. * disable hip-graph-tracing test. * fix building standalone tests to load rocprofiler-sdk cmake package first and then find rocprofiler_sdk_pytest module. * addressed comments: 1.add local bin path to code cov workflow. 2.add to cmake prefix path local bin. 3.use ROCPROFILER_MEMCHECK_PRELOAD_ENV_VALUE 4.misc. fix * enabled back tests api_buffered, external_correlation_id, hip-graph, kernel-tracing, rocpd, tracing-hip-in-libraries. and misc fixes(formating, extra fixtures for agent-index tests.) * cpack to use llvm bin for .hsaco debug symbols. * psdb tests fixes. * EOL. * misc. fixes and Disable api_buffered_tracing, external_correlation_id, hip-graph-tracing, kernel-tracing, rocpd, summary, tracing-hip-libraries, tracing-plus-counter-collection. * fix incorrect cmakelists file. * strip smallkernel.bin * format. * revert disabled tests commit. * misc. fix in counter tests. * misc. * search codeobj unit test assets in curr bin and install bin. * refactor newly added rocpd tests. * modify tests for newly added hip-host-tracing. * add LD LIB path to units, psdb is failing due to libs not being found. --------- Co-authored-by: Venkateshwar Reddy Kandula <venkateshwar.kandula1306@gmail.com> Co-authored-by: Venkateshwar Reddy Kandula <Venkateshwarreddy.Kandula@amd.com> Co-authored-by: JeniferC99 <150404595+JeniferC99@users.noreply.github.com>
171 lines
6.1 KiB
CMake
171 lines
6.1 KiB
CMake
# include guard
|
|
include_guard(GLOBAL)
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
|
|
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME development)
|
|
|
|
install(
|
|
FILES ${PROJECT_SOURCE_DIR}/LICENSE.md
|
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/${PACKAGE_NAME}
|
|
COMPONENT core)
|
|
|
|
if(ROCPROFILER_BUILD_DOCS)
|
|
install(
|
|
FILES ${PROJECT_SOURCE_DIR}/LICENSE.md
|
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/${PACKAGE_NAME}-docs
|
|
COMPONENT docs)
|
|
endif()
|
|
|
|
install(
|
|
FILES ${PROJECT_SOURCE_DIR}/LICENSE.md
|
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/${PACKAGE_NAME}-tests
|
|
COMPONENT tests)
|
|
|
|
install(
|
|
DIRECTORY ${PROJECT_SOURCE_DIR}/samples
|
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME}
|
|
COMPONENT samples)
|
|
|
|
install(
|
|
DIRECTORY ${PROJECT_SOURCE_DIR}/tests
|
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME}
|
|
COMPONENT tests
|
|
USE_SOURCE_PERMISSIONS)
|
|
|
|
install(
|
|
FILES ${PROJECT_SOURCE_DIR}/requirements.txt
|
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME}/tests
|
|
COMPONENT tests)
|
|
|
|
install(
|
|
EXPORT ${PACKAGE_NAME}-targets
|
|
FILE ${PACKAGE_NAME}-targets.cmake
|
|
NAMESPACE ${PACKAGE_NAME}::
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}
|
|
COMPONENT development)
|
|
|
|
install(
|
|
FILES ${PROJECT_SOURCE_DIR}/cmake/Modules/rocprofiler-sdk-custom-compilation.cmake
|
|
${PROJECT_SOURCE_DIR}/cmake/Modules/rocprofiler-sdk-utilities.cmake
|
|
${PROJECT_SOURCE_DIR}/cmake/Modules/Findlibdw.cmake
|
|
${PROJECT_SOURCE_DIR}/cmake/Modules/FindrocDecode.cmake
|
|
${PROJECT_SOURCE_DIR}/cmake/Modules/FindrocJPEG.cmake
|
|
${PROJECT_SOURCE_DIR}/cmake/Modules/Findrocprofiler_sdk_pytest.cmake
|
|
${PROJECT_SOURCE_DIR}/cmake/Modules/rocprofiler_sdk_PytestAddTests.cmake
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}/Modules
|
|
COMPONENT development)
|
|
|
|
rocprofiler_install_env_setup_files(
|
|
NAME ${PACKAGE_NAME}
|
|
VERSION ${PROJECT_VERSION}
|
|
INSTALL_DIR ${CMAKE_INSTALL_DATAROOTDIR}
|
|
COMPONENT development)
|
|
|
|
function(compute_rocprofiler_sdk_version _VAR)
|
|
string(REGEX REPLACE "([0-9]+)\\\.([0-9]+)\\\.(.*)" "\\1.\\2" _TMP "${${_VAR}}")
|
|
set(PACKAGE_${_VAR}
|
|
"${_TMP}.0...${_TMP}.999999999999"
|
|
PARENT_SCOPE)
|
|
endfunction()
|
|
|
|
compute_rocprofiler_sdk_version(amd_comgr_VERSION)
|
|
compute_rocprofiler_sdk_version(hsa-runtime64_VERSION)
|
|
compute_rocprofiler_sdk_version(hip_VERSION)
|
|
|
|
# ------------------------------------------------------------------------------#
|
|
# 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 headers shared-library)
|
|
set(PROJECT_EXTRA_DIRS "${CMAKE_INSTALL_INCLUDEDIR}/${PACKAGE_NAME}"
|
|
"${CMAKE_INSTALL_LIBDIR}/${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 SameMinorVersion)
|
|
|
|
configure_file(
|
|
${PROJECT_SOURCE_DIR}/cmake/rocprofiler_config_nolink_target.cmake
|
|
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}/${PACKAGE_NAME}-config-nolink-target.cmake
|
|
COPYONLY)
|
|
|
|
foreach(
|
|
_FILE
|
|
rocprofiler-sdk-custom-compilation.cmake rocprofiler-sdk-utilities.cmake
|
|
Findlibdw.cmake Findrocprofiler_sdk_pytest.cmake rocprofiler_sdk_PytestAddTests.cmake)
|
|
configure_file(
|
|
${PROJECT_SOURCE_DIR}/cmake/Modules/${_FILE}
|
|
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}/Modules/${_FILE}
|
|
COPYONLY)
|
|
endforeach()
|
|
|
|
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
|
|
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}/${PACKAGE_NAME}-config-nolink-target.cmake
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}
|
|
COMPONENT development)
|
|
|
|
export(PACKAGE ${PACKAGE_NAME})
|
|
|
|
# ------------------------------------------------------------------------------#
|
|
# build tree
|
|
#
|
|
set(${PACKAGE_NAME}_BUILD_TREE
|
|
ON
|
|
CACHE BOOL "" FORCE)
|
|
|
|
set(PROJECT_BUILD_TREE_TARGETS headers shared-library build-flags stack-protector dw)
|
|
|
|
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)
|