diff --git a/projects/clr/hipamd/CMakeLists.txt b/projects/clr/hipamd/CMakeLists.txt index e6a3277595..e91b3d11c0 100755 --- a/projects/clr/hipamd/CMakeLists.txt +++ b/projects/clr/hipamd/CMakeLists.txt @@ -439,6 +439,17 @@ add_custom_target(pkg_hip_doc COMMAND ${CMAKE_COMMAND} . COMMAND cp *.tar.gz ${PROJECT_BINARY_DIR} WORKING_DIRECTORY ${BUILD_DIR}) +# Package: hip_catch_tests +set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/hip_catch_tests) +configure_file(packaging/hip-tests.txt ${BUILD_DIR}/CMakeLists.txt @ONLY) +add_custom_target(pkg_hip_catch_tests COMMAND ${CMAKE_COMMAND} . + COMMAND rm -rf *.deb *.rpm *.tar.gz + COMMAND make package + COMMAND cp *.deb ${PROJECT_BINARY_DIR} + COMMAND cp *.rpm ${PROJECT_BINARY_DIR} + COMMAND cp *.tar.gz ${PROJECT_BINARY_DIR} + WORKING_DIRECTORY ${BUILD_DIR}) + # Package: hip_samples set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/hip_samples) configure_file(packaging/hip-samples.txt ${BUILD_DIR}/CMakeLists.txt @ONLY) @@ -457,9 +468,13 @@ if(POLICY CMP0037) endif() if(HIP_RUNTIME STREQUAL "rocclr") + set(package_list pkg_hip_base hip_on_rocclr pkg_hip_nvcc pkg_hip_doc pkg_hip_samples) + if(HIP_CATCH_TEST EQUAL "1") + set(package_list ${package_list} pkg_hip_catch_tests) + endif() add_custom_target(package WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - DEPENDS pkg_hip_base hip_on_rocclr pkg_hip_nvcc pkg_hip_doc pkg_hip_samples) + DEPENDS ${package_list}) endif() if(POLICY CMP0037) diff --git a/projects/clr/hipamd/packaging/hip-tests.txt b/projects/clr/hipamd/packaging/hip-tests.txt new file mode 100644 index 0000000000..8fb839dbf2 --- /dev/null +++ b/projects/clr/hipamd/packaging/hip-tests.txt @@ -0,0 +1,66 @@ +# Copyright (c) 2016 - 2021 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +cmake_minimum_required(VERSION 2.8.3) +project(hip_catch_tests) + +install(DIRECTORY @PROJECT_BINARY_DIR@/catch + DESTINATION . + USE_SOURCE_PERMISSIONS) + +############################# +# Packaging steps +############################# +set(CPACK_SET_DESTDIR TRUE) +set(CPACK_INSTALL_PREFIX @CPACK_INSTALL_PREFIX@ ) +set(CPACK_PACKAGE_NAME "hip-catch-tests") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "HIP: Heterogenous-computing Interface for Portability [CATCH TESTS]") +set(CPACK_PACKAGE_DESCRIPTION "HIP: + Heterogenous-computing Interface for Portability [CATCH TESTS]") +set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.") +set(CPACK_PACKAGE_CONTACT "HIP Support ") +set(CPACK_PACKAGE_VERSION_MAJOR @HIP_VERSION_MAJOR@) +set(CPACK_PACKAGE_VERSION_MINOR @HIP_VERSION_MINOR@) +set(CPACK_PACKAGE_VERSION_PATCH @HIP_VERSION_PATCH@) +set(CPACK_PACKAGE_VERSION @HIP_VERSION_MAJOR@.@HIP_VERSION_MINOR@.@HIP_PACKAGING_VERSION_PATCH@) +set(CPACK_GENERATOR "TGZ;DEB;RPM") + +set(CPACK_BINARY_DEB "ON") +set(CPACK_DEBIAN_PACKAGE_RELEASE @CPACK_DEBIAN_PACKAGE_RELEASE@) +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") +set(CPACK_DEBIAN_PACKAGE_DEPENDS "hip-dev (= ${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_RELEASE}), rocm-core") +set(CPACK_DEBIAN_PACKAGE_PROVIDES "hip-catch-tests") + +set(CPACK_BINARY_RPM "ON") +set(CPACK_RPM_PACKAGE_RELEASE @CPACK_RPM_PACKAGE_RELEASE@) +set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") +set(CPACK_RPM_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}") +set(CPACK_RPM_PACKAGE_AUTOREQPROV " no") +string(REPLACE "-" "_" HIP_BASE_VERSION ${CPACK_PACKAGE_VERSION}) +set(CPACK_RPM_PACKAGE_REQUIRES "hip-devel = ${HIP_BASE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}, rocm-core") +set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/opt") +set(CPACK_SOURCE_GENERATOR "TGZ") +# Remove dependency on rocm-core if -DROCM_DEP_ROCMCORE=ON not given to cmake +set(ROCM_DEP_ROCMCORE "@ROCM_DEP_ROCMCORE@") +if(NOT ROCM_DEP_ROCMCORE) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_PACKAGE_REQUIRES ${CPACK_RPM_PACKAGE_REQUIRES}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}) +endif() +include(CPack)