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
This commit is contained in:
+31
-43
@@ -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()
|
||||
|
||||
@@ -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 <rocm-opencl.support@amd.com>")
|
||||
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)
|
||||
@@ -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 <rocm-opencl.support@amd.com>")
|
||||
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)
|
||||
@@ -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 <rocm-opencl.support@amd.com>")
|
||||
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)
|
||||
@@ -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 <rocm-opencl.support@amd.com>")
|
||||
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)
|
||||
Reference in New Issue
Block a user