From 0d0255f6d5a70f09a27c313deedfb19975aa4694 Mon Sep 17 00:00:00 2001 From: Kent Russell Date: Mon, 20 Jan 2020 10:06:27 -0500 Subject: [PATCH] Add DEB/RPM packaging for KFDTest This will allow it to be installed with the ROCm suite, and centralize things a little bit more Also update run_kfdtest.sh to reflect the changes Lastly, remove "die" reference as compute_utils.sh may not be packaged with KFDTest Change-Id: I4c30cd29979192496419e71e3685937d7417f739 [ROCm/ROCR-Runtime commit: a360c68b0cade21b004b102b196fb1e6cbe97d1a] --- .../rocr-runtime/tests/kfdtest/CMakeLists.txt | 26 +++++++++ .../tests/kfdtest/scripts/run_kfdtest.sh | 57 +++++++++++++++++-- 2 files changed, 77 insertions(+), 6 deletions(-) diff --git a/projects/rocr-runtime/tests/kfdtest/CMakeLists.txt b/projects/rocr-runtime/tests/kfdtest/CMakeLists.txt index ffde898f60..d92a6154ad 100644 --- a/projects/rocr-runtime/tests/kfdtest/CMakeLists.txt +++ b/projects/rocr-runtime/tests/kfdtest/CMakeLists.txt @@ -28,6 +28,16 @@ cmake_minimum_required(VERSION 2.8 FATAL_ERROR) project(KFDTest) +# For DEB/RPM generation +set ( CPACK_PACKAGE_FILE_NAME "kfdtest" ) +set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) +set ( CPACK_PACKAGE_DESCRIPTION "This package includes kfdtest, the list of excluded tests for each ASIC, and a convenience script to run the test suite" ) +set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "Test suite for ROCK/KFD" ) +set ( CPACK_PACKAGE_VERSION_MAJOR "1" ) +set ( CPACK_PACKAGE_VERSION_MINOR "0" ) +set ( CPACK_PACKAGE_VERSION_PATCH "0" ) +set ( CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface" ) + #set ( CMAKE_VERBOSE_MAKEFILE on ) find_package(PkgConfig) @@ -47,6 +57,14 @@ else() include_directories(${DRM_AMDGPU_INCLUDE_DIRS}) endif() +## Define default variable and variables for the optional build target hsakmt-dev +set ( SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Location of hsakmt source code." ) +set ( CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE STRING "Default installation directory." ) +set ( CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE STRING "Default packaging prefix." ) +set ( CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators." ) + +# Debian package specific variables +set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface" ) if( DEFINED ENV{LIBHSAKMT_PATH} ) set ( LIBHSAKMT_PATH $ENV{LIBHSAKMT_PATH} ) @@ -159,3 +177,11 @@ target_link_libraries(kfdtest ${HSAKMT_LIBRARIES} ${DRM_LIBRARIES} ${DRM_AMDGPU_ configure_file ( scripts/kfdtest.exclude kfdtest.exclude COPYONLY ) configure_file ( scripts/run_kfdtest.sh run_kfdtest.sh COPYONLY ) + +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/kfdtest ${CMAKE_CURRENT_BINARY_DIR}/run_kfdtest.sh + PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_WRITE GROUP_READ WORLD_EXECUTE WORLD_READ + DESTINATION bin ) +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/kfdtest.exclude + PERMISSIONS OWNER_WRITE OWNER_READ GROUP_WRITE GROUP_READ WORLD_READ + DESTINATION share/kfdtest ) +include ( CPack ) diff --git a/projects/rocr-runtime/tests/kfdtest/scripts/run_kfdtest.sh b/projects/rocr-runtime/tests/kfdtest/scripts/run_kfdtest.sh index 52a1dd20a0..6097c99c45 100755 --- a/projects/rocr-runtime/tests/kfdtest/scripts/run_kfdtest.sh +++ b/projects/rocr-runtime/tests/kfdtest/scripts/run_kfdtest.sh @@ -22,9 +22,57 @@ # # +# See if we can find the SHARE/BIN dirs in their expected locations +CWD="${0%/*}" +while read candidate; do + if [ -e "$candidate/kfdtest.exclude" ]; then + source "$candidate/kfdtest.exclude" + break + fi +done <