Package hipcc binaries
(hipcc.bin and hipconfig.bin) Change-Id: Ib13cbc5fb33ffd03c5fada46f13875bd5ac47800
Этот коммит содержится в:
@@ -322,6 +322,12 @@ install(FILES ${PROJECT_BINARY_DIR}/.hipInfo DESTINATION lib)
|
||||
# Install .hipVersion
|
||||
install(FILES ${PROJECT_BINARY_DIR}/.hipVersion DESTINATION bin)
|
||||
|
||||
# Install hipcc binaries
|
||||
if(HIPCC_BIN_DIR)
|
||||
install(FILES ${HIPCC_BIN_DIR}/hipcc.bin DESTINATION bin)
|
||||
install(FILES ${HIPCC_BIN_DIR}/hipconfig.bin DESTINATION bin)
|
||||
endif()
|
||||
|
||||
# Install src, bin, include & cmake if necessary
|
||||
execute_process(COMMAND test ${CMAKE_INSTALL_PREFIX} -ef ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
RESULT_VARIABLE INSTALL_SOURCE)
|
||||
@@ -415,6 +421,18 @@ if(HIP_RUNTIME STREQUAL "rocclr")
|
||||
WORKING_DIRECTORY ${BUILD_DIR} )
|
||||
endif()
|
||||
|
||||
# Package: hipcc (if HIPCC_BIN_DIR is available)
|
||||
message(STATUS "HIPCC_BIN_DIR found at ${HIPCC_BIN_DIR}" )
|
||||
set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/hipcc)
|
||||
configure_file(packaging/hipcc.txt ${BUILD_DIR}/CMakeLists.txt @ONLY)
|
||||
add_custom_target(pkg_hipcc 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_runtime_nvidia
|
||||
set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/hip-runtime-nvidia)
|
||||
configure_file(packaging/hip-runtime-nvidia.txt ${BUILD_DIR}/CMakeLists.txt @ONLY)
|
||||
@@ -469,6 +487,9 @@ 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(HIPCC_BIN_DIR)
|
||||
set(package_list ${package_list} pkg_hipcc)
|
||||
endif()
|
||||
if(HIP_CATCH_TEST EQUAL "1")
|
||||
set(package_list ${package_list} pkg_hip_catch_tests)
|
||||
endif()
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
cmake_minimum_required(VERSION 3.6.3)
|
||||
project(hipcc)
|
||||
|
||||
install(PROGRAMS @HIPCC_BIN_DIR@/hipcc.bin DESTINATION bin )
|
||||
install(PROGRAMS @HIPCC_BIN_DIR@/hipconfig.bin DESTINATION bin )
|
||||
|
||||
# hipcc.txt is processed to produce CMakeList.txt,
|
||||
# pass down value from parent
|
||||
set(ROCM_DEP_ROCMCORE "@ROCM_DEP_ROCMCORE@")
|
||||
|
||||
#############################
|
||||
# Packaging steps
|
||||
#############################
|
||||
set(CPACK_PACKAGE_NAME "hipcc")
|
||||
set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR @HIP_VERSION_MAJOR@)
|
||||
set(CPACK_PACKAGE_VERSION_MINOR @HIP_VERSION_MINOR@)
|
||||
set(CPACK_PACKAGE_VERSION_PATCH @HIP_PACKAGING_VERSION_PATCH@)
|
||||
set(CPACK_PACKAGE_CONTACT "HIP Support <hip.support@amd.com>")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "HIP compiler driver (hipcc)")
|
||||
set(CPACK_PACKAGE_DESCRIPTION "hipcc is a compiler driver utility that will call clang or nvcc,
|
||||
depending on target, and pass the appropriate include and library options
|
||||
for the target compiler and HIP infrastructure.")
|
||||
set(CPACK_SET_DESTDIR TRUE)
|
||||
set(CPACK_INSTALL_PREFIX @CPACK_INSTALL_PREFIX@ )
|
||||
set(CPACK_GENERATOR "TGZ;DEB;RPM")
|
||||
|
||||
#Debian package specific variables
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${CPACK_DEBIAN_PACKAGE_HOMEPAGE} CACHE STRING "https://github.com/RadeonOpenCompute/ROCm")
|
||||
if(ROCM_DEP_ROCMCORE)
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "rocm-core")
|
||||
endif()
|
||||
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()
|
||||
|
||||
#RPM package specific variables
|
||||
set(CPACK_RPM_PACKAGE_AUTOREQPROV "NO")
|
||||
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/opt" "${ROCM_PATH}" "@CPACK_PACKAGING_INSTALL_PREFIX@" "@CPACK_PACKAGING_INSTALL_PREFIX@/bin")
|
||||
if(ROCM_DEP_ROCMCORE)
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES "rocm-core")
|
||||
endif()
|
||||
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()
|
||||
|
||||
#Set rpm distro
|
||||
if(CPACK_RPM_PACKAGE_RELEASE)
|
||||
set(CPACK_RPM_PACKAGE_RELEASE_DIST ON)
|
||||
endif()
|
||||
|
||||
#Prepare final version for the CAPACK use
|
||||
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${ROCM_VERSION_FOR_PACKAGE}")
|
||||
|
||||
#Set the names now using CPACK utility
|
||||
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
|
||||
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
|
||||
|
||||
include(CPack)
|
||||
Ссылка в новой задаче
Block a user