Skip to content

Commit 2db1943

Browse files
committed
Add Package CMake module
1 parent e049b16 commit 2db1943

3 files changed

Lines changed: 57 additions & 0 deletions

File tree

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Build dir
2+
[Bb]uild/
3+
4+
# Package dir
5+
[Pp]ackage[-_\s\d]*/
6+
7+
# Test dir
8+
[Tt]esting/
9+
10+
# CMake
11+
CMakeCache.txt
12+
CMakeFiles/

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ option(OPENCL_HEADERS_BUILD_CXX_TESTS "Enable support for OpenCL C headers testi
1717

1818
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
1919
include(JoinPaths)
20+
include(Package)
2021

2122
include(GNUInstallDirs)
2223

cmake/Package.cmake

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
set(CPACK_PACKAGE_VENDOR "khronos")
2+
3+
set(CPACK_PACKAGE_DESCRIPTION "OpenCL API C headers")
4+
5+
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
6+
7+
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
8+
9+
if(NOT CPACK_PACKAGING_INSTALL_PREFIX)
10+
set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
11+
endif()
12+
13+
if(NOT CPACK_SOURCE_IGNORE_FILES)
14+
set(CPACK_SOURCE_IGNORE_FILES="/.github/")
15+
endif()
16+
17+
# DEB packaging configuration
18+
set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_VENDOR})
19+
20+
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE
21+
"https://github.com/KhronosGroup/OpenCL-Headers")
22+
23+
# Get Debian package name from project name
24+
string(TOLOWER ${PROJECT_NAME} DEBIAN_PACKAGE_NAME)
25+
string(REPLACE "opencl" "opencl-" DEBIAN_PACKAGE_NAME ${DEBIAN_PACKAGE_NAME})
26+
27+
# Version number [epoch:]upstream_version[-debian_revision]
28+
set(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}) # upstream_version
29+
set(CPACK_DEBIAN_PACKAGE_RELEASE "1") # devian_revision (because this is a
30+
# non-native pkg)
31+
32+
set(CPACK_DEBIAN_PACKAGE_NAME
33+
"${CPACK_PACKAGE_VENDOR}-${DEBIAN_PACKAGE_NAME}"
34+
CACHE STRING "Package name" FORCE)
35+
36+
set(CPACK_DEBIAN_PACKAGE_FILE_NAME "${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_DEBIAN_PACKAGE_VERSION}")
37+
38+
# Package file name in deb format:
39+
# <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
40+
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
41+
42+
set(CPACK_DEBIAN_PACKAGE_DEBUG ON)
43+
44+
include(CPack)

0 commit comments

Comments
 (0)