From 8fa82f6e6440ce9f73cf81c307070d4339d52fc3 Mon Sep 17 00:00:00 2001 From: Freddy Paul Date: Tue, 18 Jan 2022 14:48:12 -0800 Subject: [PATCH] SWDEV-309024 - Providing debug information for released libraries Current packaging structure using custom command fail to work for generating debug symbols.Hence changing the packaging to more conventional way of using single CMakeLists.txt and split packages using components like binary, dev and icd Change-Id: I7fcf5f8afc3602f77576f2a13aa4916acb10888b --- opencl/CMakeLists.txt | 74 +++++++--------- opencl/packaging/CMakeLists.txt | 125 +++++++++++++++++++++++++++ opencl/packaging/rocm-ocl-icd.txt | 69 --------------- opencl/packaging/rocm-opencl-dev.txt | 70 --------------- opencl/packaging/rocm-opencl.txt | 65 -------------- 5 files changed, 156 insertions(+), 247 deletions(-) create mode 100644 opencl/packaging/CMakeLists.txt delete mode 100644 opencl/packaging/rocm-ocl-icd.txt delete mode 100644 opencl/packaging/rocm-opencl-dev.txt delete mode 100644 opencl/packaging/rocm-opencl.txt diff --git a/opencl/CMakeLists.txt b/opencl/CMakeLists.txt index 4464ed0ee9..0d29728922 100644 --- a/opencl/CMakeLists.txt +++ b/opencl/CMakeLists.txt @@ -54,7 +54,12 @@ endif() get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) -set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm/opencl" CACHE PATH "Package Installation path for OpenCL") +#Set Package Version +set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) +if(DEFINED ENV{ROCM_LIBPATCH_VERSION}) + set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}") + message("Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}") +endif() #ROCM_PATH is needed to create symlink of libraries if(NOT DEFINED ROCM_PATH) @@ -62,53 +67,36 @@ if(NOT DEFINED ROCM_PATH) endif() message (STATUS "ROCM Installation path(ROCM_PATH): ${ROCM_PATH}") -# Package: rocm-ocl-icd + +#Package: rocm-opencl,rocm-opencl-dev/devel +add_subdirectory(packaging) + + +#Package: rocm-ocl-icd set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/rocm-ocl-icd) -configure_file(packaging/rocm-ocl-icd.txt ${BUILD_DIR}/CMakeLists.txt @ONLY) +#configure_file(packaging/rocm-ocl-icd.txt ${BUILD_DIR}/CMakeLists.txt @ONLY) configure_file(packaging/rocm-ocl-icd.postinst ${BUILD_DIR}/postinst @ONLY) configure_file(packaging/rocm-ocl-icd.prerm ${BUILD_DIR}/prerm @ONLY) configure_file(packaging/rocm-ocl-icd.rpm_post ${BUILD_DIR}/rpm_post @ONLY) configure_file(packaging/rocm-ocl-icd.rpm_postun ${BUILD_DIR}/rpm_postun @ONLY) -add_custom_target(pkg_rocm_ocl_icd COMMAND ${CMAKE_COMMAND} -DROCM_DEP_ROCMCORE=${ROCM_DEP_ROCMCORE} . - COMMAND rm -rf *.deb *.rpm *.tar.gz - COMMAND make package - COMMAND cp *.deb ${PROJECT_BINARY_DIR} - COMMAND cp *.rpm ${PROJECT_BINARY_DIR} - WORKING_DIRECTORY ${BUILD_DIR} - DEPENDS amdocl OpenCL) +#add_custom_target(pkg_rocm_ocl_icd COMMAND ${CMAKE_COMMAND} -DROCM_DEP_ROCMCORE=${ROCM_DEP_ROCMCORE} . +# COMMAND rm -rf *.deb *.rpm *.tar.gz +# COMMAND make package +# COMMAND cp *.deb ${PROJECT_BINARY_DIR} +# COMMAND cp *.rpm ${PROJECT_BINARY_DIR} +# WORKING_DIRECTORY ${BUILD_DIR} +# DEPENDS amdocl OpenCL) -# Package: rocm-opencl -set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/rocm-opencl) -configure_file(packaging/rocm-opencl.txt ${BUILD_DIR}/CMakeLists.txt @ONLY) -add_custom_target(pkg_rocm_opencl COMMAND ${CMAKE_COMMAND} -DROCM_DEP_ROCMCORE=${ROCM_DEP_ROCMCORE} . - COMMAND rm -rf *.deb *.rpm *.tar.gz - COMMAND make package - COMMAND cp *.deb ${PROJECT_BINARY_DIR} - COMMAND cp *.rpm ${PROJECT_BINARY_DIR} - WORKING_DIRECTORY ${BUILD_DIR} - DEPENDS amdocl OpenCL) +#Package: all +#if(POLICY CMP0037) +# cmake_policy(PUSH) +# cmake_policy(SET CMP0037 OLD) +#endif() -# Package: rocm-opencl-dev -set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/rocm-opencl-dev) -configure_file(packaging/rocm-opencl-dev.txt ${BUILD_DIR}/CMakeLists.txt @ONLY) -add_custom_target(pkg_rocm_opencl_dev COMMAND ${CMAKE_COMMAND} -DROCM_DEP_ROCMCORE=${ROCM_DEP_ROCMCORE} . - COMMAND rm -rf *.deb *.rpm *.tar.gz - COMMAND make package - COMMAND cp *.deb ${PROJECT_BINARY_DIR} - COMMAND cp *.rpm ${PROJECT_BINARY_DIR} - WORKING_DIRECTORY ${BUILD_DIR} - DEPENDS amdocl OpenCL) - -# Package: all -if(POLICY CMP0037) - cmake_policy(PUSH) - cmake_policy(SET CMP0037 OLD) -endif() - -add_custom_target(package - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - DEPENDS pkg_rocm_ocl_icd pkg_rocm_opencl pkg_rocm_opencl_dev) -if(POLICY CMP0037) - cmake_policy(POP) -endif() +#add_custom_target(package_icd +# WORKING_DIRECTORY ${PROJECT_BINARY_DIR} +# DEPENDS pkg_rocm_ocl_icd ) +##if(POLICY CMP0037) +# cmake_policy(POP) +#endif() endif() diff --git a/opencl/packaging/CMakeLists.txt b/opencl/packaging/CMakeLists.txt new file mode 100644 index 0000000000..cc9f7e0e4d --- /dev/null +++ b/opencl/packaging/CMakeLists.txt @@ -0,0 +1,125 @@ +cmake_minimum_required(VERSION 3.5.1) +project(rocm-opencl) + +set(CPACK_COMPONENTS_ALL binary dev icd) +set(CPACK_DEB_COMPONENT_INSTALL ON) +set(CPACK_RPM_COMPONENT_INSTALL ON) + + + + +install(PROGRAMS ${CMAKE_BINARY_DIR}/tools/clinfo/clinfo DESTINATION bin COMPONENT binary) +install(FILES ${CMAKE_BINARY_DIR}/amdocl/libamdocl64.so DESTINATION lib COMPONENT binary) +install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary) + +install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT dev + USE_SOURCE_PERMISSIONS + PATTERN cl_d3d10.h EXCLUDE + PATTERN cl_d3d11.h EXCLUDE + PATTERN cl_dx9_media_sharing.h EXCLUDE + PATTERN cl_egl.h EXCLUDE ) + +install(FILES ${CMAKE_BINARY_DIR}/khronos/icd/libOpenCL.so DESTINATION lib COMPONENT icd ) +install(FILES ${CMAKE_BINARY_DIR}/khronos/icd/libOpenCL.so.${OPENCL_LIB_VERSION_MAJOR} DESTINATION lib COMPONENT icd ) +install(FILES ${CMAKE_BINARY_DIR}/khronos/icd/libOpenCL.so.${OPENCL_LIB_VERSION_STRING} DESTINATION lib COMPONENT icd ) +install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION share/doc/rocm-ocl-icd COMPONENT icd) + + +# Generic CPACK variables +set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Package types to build") +set(CPACK_PACKAGE_CONTACT "ROCm OpenCL Support ") +set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.") +set(CPACK_PACKAGE_DESCRIPTION "OpenCL: Open Computing Language on ROCclr") + +set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm/opencl" CACHE PATH "Package Installation path for OpenCL") + + + +#########Binary-Package############### +set(CPACK_DEBIAN_BINARY_PACKAGE_NAME "rocm-opencl") +set(CPACK_RPM_BINARY_PACKAGE_NAME "rocm-opencl") + +# Debian CPACK variables +set(CPACK_BINARY_DEB "ON") +if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) + set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) +else() + set(CPACK_DEBIAN_PACKAGE_RELEASE "local") +endif() +message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}") + +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") +set(CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "rocm-ocl-icd, libelf-dev, comgr, hsa-rocr, rocm-core") + +# RPM CPACK variables +set(CPACK_BINARY_RPM "ON") +set(CPACK_RPM_BINARY_PACKAGE_REQUIRES "rocm-ocl-icd, comgr, hsa-rocr, rocm-core") + +#Unable to set CPACK_RPM_BIANRY_PACKAGE_LICENSE to control individual pacakge license +#Hence combining the license for BINARY,DEV,ICD to one +set(CPACK_RPM_PACKAGE_LICENSE "MIT and ASL 2.0") + +#########Dev-Package############### + +# DEBIAN CPACK variables +set(CPACK_DEBIAN_DEV_PACKAGE_NAME "rocm-opencl-dev") +set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "mesa-common-dev, rocm-opencl, hsa-rocr-dev, rocm-core") +# RPM CPACK variables +set(CPACK_RPM_DEV_PACKAGE_NAME "rocm-opencl-devel") +set(CPACK_RPM_DEV_PACKAGE_REQUIRES "rocm-opencl, hsa-rocr-devel, rocm-core") + + +############################# +# ICD Loader +############################# + +# Debian CPACK variables +set(CPACK_ICD_DEB "ON") +set(CPACK_DEBIAN_ICD_PACKAGE_NAME "rocm-ocl-icd") + +set(CPACK_DEBIAN_ICD_PACKAGE_CONTROL_EXTRA "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/postinst;${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/prerm") +set(CPACK_DEBIAN_ICD_PACKAGE_DEPENDS "rocm-core") + +# RPM CPACK variables +set(CPACK_ICD_RPM "ON") +set(CPACK_RPM_ICD_PACKAGE_NAME "rocm-ocl-icd") + + + +set(CPACK_RPM_ICD_POST_INSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_post") +set(CPACK_RPM_ICD_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_postun") +set(CPACK_RPM_ICD_PACKAGE_REQUIRES "rocm-core") + +if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) + set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) +else() + set(CPACK_RPM_PACKAGE_RELEASE "local") +endif() +message("Using CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_PACKAGE_RELEASE}") + + +set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") +set(CPACK_RPM_PACKAGE_AUTOREQPROV " no") + +## 'dist' breaks manual builds on debian systems due to empty Provides +execute_process(COMMAND rpm --eval %{?dist} + RESULT_VARIABLE PROC_RESULT + OUTPUT_VARIABLE EVAL_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE) +message("RESULT_VARIABLE ${PROC_RESULT} OUTPUT_VARIABLE: ${EVAL_RESULT}") + +if(PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "") + string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}") +endif() +# Remove dependency on rocm-core if -DROCM_DEP_ROCMCORE=ON not given to cmake +if(NOT ROCM_DEP_ROCMCORE) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_BINARY_PACKAGE_REQUIRES ${CPACK_RPM_BINARY_PACKAGE_REQUIRES}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS ${CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_DEV_PACKAGE_DEPENDS ${CPACK_DEBIAN_DEV_PACKAGE_DEPENDS}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_ICD_PACKAGE_REQUIRES ${CPACK_RPM_ICD_PACKAGE_REQUIRES}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_ICD_PACKAGE_DEPENDS ${CPACK_DEBIAN_ICD_PACKAGE_DEPENDS}) +endif() + +include(CPack) diff --git a/opencl/packaging/rocm-ocl-icd.txt b/opencl/packaging/rocm-ocl-icd.txt deleted file mode 100644 index 66e3863502..0000000000 --- a/opencl/packaging/rocm-ocl-icd.txt +++ /dev/null @@ -1,69 +0,0 @@ -cmake_minimum_required(VERSION 3.5.1) -project(rocm-ocl-icd) - -install(FILES @PROJECT_BINARY_DIR@/khronos/icd/libOpenCL.so DESTINATION lib) -install(FILES @PROJECT_BINARY_DIR@/khronos/icd/libOpenCL.so.@OPENCL_LIB_VERSION_MAJOR@ DESTINATION lib) -install(FILES @PROJECT_BINARY_DIR@/khronos/icd/libOpenCL.so.@OPENCL_LIB_VERSION_STRING@ DESTINATION lib) -install(FILES @opencl_SOURCE_DIR@/khronos/icd/LICENSE DESTINATION share/doc/rocm-ocl-icd) - -############################# -# Packaging steps -############################# -# Generic CPACK variables -set(CPACK_GENERATOR "DEB;RPM") -set(CPACK_PACKAGE_NAME "rocm-ocl-icd") -set(CPACK_PACKAGE_CONTACT "ROCm OpenCL Support ") -set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.") -set(CPACK_PACKAGING_INSTALL_PREFIX @CPACK_PACKAGING_INSTALL_PREFIX@) -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenCL ICD loader provided by ROCm") -set(CPACK_PACKAGE_VERSION @PROJECT_VERSION@) - -if(DEFINED ENV{ROCM_LIBPATCH_VERSION}) - set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}") - message("Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}") -endif() - -# Debian CPACK variables -set(CPACK_BINARY_DEB "ON") -if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) - set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) -else() - set(CPACK_DEBIAN_PACKAGE_RELEASE "local") -endif() -message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}") -set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") -set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJECT_BINARY_DIR}/postinst;${PROJECT_BINARY_DIR}/prerm") -set(CPACK_DEBIAN_PACKAGE_DEPENDS "rocm-core") - -# RPM CPACK variables -set(CPACK_BINARY_RPM "ON") -if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) - set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) -else() - set(CPACK_RPM_PACKAGE_RELEASE "local") -endif() -message("Using CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_PACKAGE_RELEASE}") -set(CPACK_RPM_PACKAGE_LICENSE "ASL 2.0") - -## 'dist' breaks manual builds on debian systems due to empty Provides -execute_process(COMMAND rpm --eval %{?dist} - RESULT_VARIABLE PROC_RESULT - OUTPUT_VARIABLE EVAL_RESULT - OUTPUT_STRIP_TRAILING_WHITESPACE) -message("RESULT_VARIABLE ${PROC_RESULT} OUTPUT_VARIABLE: ${EVAL_RESULT}") - -if(PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "") - string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}") -endif() -set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") -set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${PROJECT_BINARY_DIR}/rpm_post") -set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${PROJECT_BINARY_DIR}/rpm_postun") -set(CPACK_RPM_PACKAGE_AUTOREQPROV " no") -set(CPACK_RPM_PACKAGE_REQUIRES "rocm-core") -# Remove dependency on rocm-core if -DROCM_DEP_ROCMCORE=ON not given to cmake -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) diff --git a/opencl/packaging/rocm-opencl-dev.txt b/opencl/packaging/rocm-opencl-dev.txt deleted file mode 100644 index e024401097..0000000000 --- a/opencl/packaging/rocm-opencl-dev.txt +++ /dev/null @@ -1,70 +0,0 @@ -cmake_minimum_required(VERSION 3.5.1) -project(rocm-opencl-dev) - -install(DIRECTORY @opencl_SOURCE_DIR@/khronos/headers/opencl2.2/CL - DESTINATION include - USE_SOURCE_PERMISSIONS - PATTERN cl_d3d10.h EXCLUDE - PATTERN cl_d3d11.h EXCLUDE - PATTERN cl_dx9_media_sharing.h EXCLUDE - PATTERN cl_egl.h EXCLUDE) - -############################# -# Packaging steps -############################# -# Generic CPACK variables -set(CPACK_GENERATOR "DEB;RPM") -set(CPACK_PACKAGE_NAME "rocm-opencl-dev") -set(CPACK_PACKAGE_CONTACT "ROCm OpenCL Support ") -set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.") -set(CPACK_PACKAGING_INSTALL_PREFIX @CPACK_PACKAGING_INSTALL_PREFIX@) -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenCL: Open Computing Language on ROCclr") -set(CPACK_PACKAGE_VERSION @PROJECT_VERSION@) - -if(DEFINED ENV{ROCM_LIBPATCH_VERSION}) - set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}") - message("Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}") -endif() - -# Debian CPACK variables -set(CPACK_BINARY_DEB "ON") -if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) - set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) -else() - set(CPACK_DEBIAN_PACKAGE_RELEASE "local") -endif() -message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}") -set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") -set(CPACK_DEBIAN_PACKAGE_DEPENDS "mesa-common-dev, rocm-opencl, rocm-core") - -# RPM CPACK variables -set(CPACK_BINARY_RPM "ON") -set(CPACK_RPM_PACKAGE_NAME "rocm-opencl-devel") -if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) - set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) -else() - set(CPACK_RPM_PACKAGE_RELEASE "local") -endif() -message("Using CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_PACKAGE_RELEASE}") -set(CPACK_RPM_PACKAGE_LICENSE "MIT") - -## 'dist' breaks manual builds on debian systems due to empty Provides -execute_process(COMMAND rpm --eval %{?dist} - RESULT_VARIABLE PROC_RESULT - OUTPUT_VARIABLE EVAL_RESULT - OUTPUT_STRIP_TRAILING_WHITESPACE) -message("RESULT_VARIABLE ${PROC_RESULT} OUTPUT_VARIABLE: ${EVAL_RESULT}") - -if(PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "") - string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}") -endif() -set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") -set(CPACK_RPM_PACKAGE_AUTOREQPROV " no") -set(CPACK_RPM_PACKAGE_REQUIRES "rocm-opencl, rocm-core") -# Remove dependency on rocm-core if -DROCM_DEP_ROCMCORE=ON not given to cmake -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) diff --git a/opencl/packaging/rocm-opencl.txt b/opencl/packaging/rocm-opencl.txt deleted file mode 100644 index 830c378f6a..0000000000 --- a/opencl/packaging/rocm-opencl.txt +++ /dev/null @@ -1,65 +0,0 @@ -cmake_minimum_required(VERSION 3.5.1) -project(rocm-opencl) - -install(PROGRAMS @PROJECT_BINARY_DIR@/tools/clinfo/clinfo DESTINATION bin) -install(FILES @PROJECT_BINARY_DIR@/amdocl/libamdocl64.so DESTINATION lib) -install(FILES @opencl_SOURCE_DIR@/LICENSE.txt DESTINATION share/doc/rocm-opencl) - -############################# -# Packaging steps -############################# -# Generic CPACK variables -set(CPACK_GENERATOR "DEB;RPM") -set(CPACK_PACKAGE_NAME "rocm-opencl") -set(CPACK_PACKAGE_CONTACT "ROCm OpenCL Support ") -set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.") -set(CPACK_PACKAGING_INSTALL_PREFIX @CPACK_PACKAGING_INSTALL_PREFIX@) -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenCL: Open Computing Language on ROCclr") -set(CPACK_PACKAGE_VERSION @PROJECT_VERSION@) - -if(DEFINED ENV{ROCM_LIBPATCH_VERSION}) - set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}") - message("Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}") -endif() - -# Debian CPACK variables -set(CPACK_BINARY_DEB "ON") -if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) - set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) -else() - set(CPACK_DEBIAN_PACKAGE_RELEASE "local") -endif() -message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}") -set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") -set(CPACK_DEBIAN_PACKAGE_DEPENDS "rocm-ocl-icd, libelf-dev, comgr, hsa-rocr-dev, rocm-core") - -# RPM CPACK variables -set(CPACK_BINARY_RPM "ON") -if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) - set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) -else() - set(CPACK_RPM_PACKAGE_RELEASE "local") -endif() -message("Using CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_PACKAGE_RELEASE}") -set(CPACK_RPM_PACKAGE_LICENSE "MIT") - -## 'dist' breaks manual builds on debian systems due to empty Provides -execute_process(COMMAND rpm --eval %{?dist} - RESULT_VARIABLE PROC_RESULT - OUTPUT_VARIABLE EVAL_RESULT - OUTPUT_STRIP_TRAILING_WHITESPACE) -message("RESULT_VARIABLE ${PROC_RESULT} OUTPUT_VARIABLE: ${EVAL_RESULT}") - -if(PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "") - string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}") -endif() -set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") -set(CPACK_RPM_PACKAGE_AUTOREQPROV " no") -set(CPACK_RPM_PACKAGE_REQUIRES "rocm-ocl-icd, comgr, hsa-rocr-dev, rocm-core") -# Remove dependency on rocm-core if -DROCM_DEP_ROCMCORE=ON not given to cmake -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)