@@ -3,6 +3,15 @@ cmake_minimum_required(VERSION 3.13.4)
3
3
project (hipcc VERSION "1.0.0" LANGUAGES C CXX )
4
4
set (hipcc_NAME "${PROJECT_NAME} " )
5
5
6
+ include (CMakePackageConfigHelpers )
7
+ include (GNUInstallDirs )
8
+
9
+ find_package (ROCM )
10
+ if (ROCM_FOUND )
11
+ include (ROCMSetupVersion )
12
+ rocm_setup_version (VERSION "${hipcc_VERSION} " )
13
+ endif ()
14
+
6
15
set (CMAKE_CXX_STANDARD 17 )
7
16
set (CMAKE_CXX_STANDARD_REQUIRED True )
8
17
@@ -34,3 +43,59 @@ if(NOT WIN32)
34
43
# C++17 does not require std lib linking.
35
44
target_link_libraries (${HIPCONFIG_BIN} ${ADDITIONAL_SHARED_LIBRARIES_TO_LINK} )
36
45
endif ()
46
+
47
+ set (CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators" )
48
+ set (
CPACK_PACKAGE_CONTACT "ROCm Compiler Support <[email protected] >" )
49
+ set (CPACK_PACKAGE_DESCRIPTION "HIP Compiler Driver" )
50
+ set (CPACK_PACKAGE_NAME "${PROJECT_NAME} " )
51
+ set (CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." )
52
+ set (CPACK_PACKAGE_VERSION_MAJOR "${hipcc_VERSION_MAJOR} " )
53
+ set (CPACK_PACKAGE_VERSION_MINOR "${hipcc_VERSION_MINOR} " )
54
+ set (CPACK_PACKAGE_VERSION_PATCH "${hipcc_VERSION_PATCH} " )
55
+ set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR} /LICENSE.txt" )
56
+
57
+ # Debian-specific packaging variables.
58
+ set (CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT" )
59
+ set (CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/ROCm-Developer-Tools/HIPCC" )
60
+ if (DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE} )
61
+ set (CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE} )
62
+ else ()
63
+ set (CPACK_DEBIAN_PACKAGE_RELEASE "local" )
64
+ endif ()
65
+
66
+ # RPM-specific packaging variables.
67
+ set (CPACK_RPM_FILE_NAME "RPM-DEFAULT" )
68
+ set (CPACK_RPM_PACKAGE_LICENSE "NCSA" )
69
+ if (DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE} )
70
+ set (CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE} )
71
+ else ()
72
+ set (CPACK_RPM_PACKAGE_RELEASE "local" )
73
+ endif ()
74
+ if (CPACK_RPM_PACKAGE_RELEASE )
75
+ set (CPACK_RPM_PACKAGE_RELEASE_DIST ON )
76
+ endif ()
77
+
78
+ # ROCM versioning.
79
+ set (ROCM_VERSION_FOR_PACKAGE "" )
80
+ if (DEFINED ENV{ROCM_LIBPATCH_VERSION} )
81
+ set (ROCM_VERSION_FOR_PACKAGE $ENV{ROCM_LIBPATCH_VERSION} )
82
+ elseif (DEFINED ENV{ROCM_VERSION} )
83
+ string (REGEX REPLACE "." "" ROCM_VERSION_FOR_PACKAGE $ENV{ROCM_VERSION} )
84
+ else ()
85
+ set (ROCM_VERSION_FOR_PACKAGE "99999" )
86
+ endif ()
87
+ set (CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR} .${CPACK_PACKAGE_VERSION_MINOR} .${CPACK_PACKAGE_VERSION_PATCH} .${ROCM_VERSION_FOR_PACKAGE} " )
88
+
89
+ install (FILES
90
+ "LICENSE.txt"
91
+ "README.md"
92
+ COMPONENT ${hipcc_NAME}
93
+ DESTINATION ${CMAKE_INSTALL_DOCDIR} )
94
+ install (TARGETS ${HIPCC_BIN}
95
+ COMPONENT ${hipcc_NAME}
96
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
97
+ install (TARGETS ${HIPCONFIG_BIN}
98
+ COMPONENT ${hipcc_NAME}
99
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
100
+
101
+ include (CPack )
0 commit comments