|
1 | | -# Copyright (C) 2020-2025 Intel Corporation |
| 1 | +# Copyright (C) 2020-2026 Intel Corporation |
2 | 2 | # SPDX-License-Identifier: MIT |
3 | 3 |
|
4 | 4 | cmake_minimum_required(VERSION 3.12.0 FATAL_ERROR) |
@@ -211,6 +211,12 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}") |
211 | 211 |
|
212 | 212 | set(TARGET_LOADER_NAME ze_loader) |
213 | 213 |
|
| 214 | +# Canonical Ubuntu/Debian package names (libze1 / libze-dev) |
| 215 | +# produced alongside the existing level-zero / level-zero-devel packages. |
| 216 | +if(NOT BUILD_INSTALLER) |
| 217 | + set(CANONICAL_LIB_COMPONENT "libze1") |
| 218 | + set(CANONICAL_SDK_COMPONENT "libze-dev") |
| 219 | +endif() |
214 | 220 |
|
215 | 221 | add_subdirectory(source) |
216 | 222 | add_subdirectory(samples) |
@@ -254,6 +260,29 @@ install(FILES ${LEVEL_ZERO_LOADER_API_HEADERS} |
254 | 260 | COMPONENT ${SDK_COMPONENT_STRING} |
255 | 261 | ) |
256 | 262 |
|
| 263 | +# Canonical Ubuntu/Debian package naming (libze1 / libze-dev) mirrors Canonical's own packaging. |
| 264 | +# EXCLUDE_FROM_ALL prevents these rules from running during 'make install' — the same files are |
| 265 | +# already installed by the level-zero / level-zero-devel components above. CPack ignores |
| 266 | +# EXCLUDE_FROM_ALL when building component packages, so 'cmake --build . --target package' |
| 267 | +# still produces all four .deb files without duplicating entries in install_manifest.txt. |
| 268 | +if(CANONICAL_SDK_COMPONENT) |
| 269 | + install(FILES ${LEVEL_ZERO_API_HEADERS} |
| 270 | + DESTINATION ./include/level_zero |
| 271 | + COMPONENT ${CANONICAL_SDK_COMPONENT} |
| 272 | + EXCLUDE_FROM_ALL |
| 273 | + ) |
| 274 | + install(FILES ${LEVEL_ZERO_LAYERS_API_HEADERS} |
| 275 | + DESTINATION ./include/level_zero/layers |
| 276 | + COMPONENT ${CANONICAL_SDK_COMPONENT} |
| 277 | + EXCLUDE_FROM_ALL |
| 278 | + ) |
| 279 | + install(FILES ${LEVEL_ZERO_LOADER_API_HEADERS} |
| 280 | + DESTINATION ./include/level_zero/loader |
| 281 | + COMPONENT ${CANONICAL_SDK_COMPONENT} |
| 282 | + EXCLUDE_FROM_ALL |
| 283 | + ) |
| 284 | +endif() |
| 285 | + |
257 | 286 | if (MSVC) |
258 | 287 | set (PYTHON_EXECUTABLE "python") |
259 | 288 | else() |
@@ -346,7 +375,7 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "oneAPI Level Zero") |
346 | 375 | set(CPACK_PACKAGE_VENDOR "Intel Corporation") |
347 | 376 |
|
348 | 377 | set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CMAKE_INSTALL_PREFIX}) |
349 | | -set(CPACK_PACKAGE_CONTACT "Intel Corporation") |
| 378 | +set(CPACK_PACKAGE_CONTACT "Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>") |
350 | 379 |
|
351 | 380 | set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}") |
352 | 381 | set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}") |
@@ -398,6 +427,28 @@ if(CPACK_GENERATOR MATCHES "DEB") |
398 | 427 | set(CPACK_DEBIAN_LEVEL-ZERO_FILE_NAME "${PROJECT_NAME}_${PROJECT_VERSION}+${os_name}${os_version}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") |
399 | 428 | set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_FILE_NAME "${PROJECT_NAME}-devel_${PROJECT_VERSION}+${os_name}${os_version}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") |
400 | 429 | set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_PACKAGE_DEPENDS "level-zero(=${PROJECT_VERSION})") |
| 430 | + # Mutual exclusion with the canonical libze1 / libze-dev packages |
| 431 | + set(CPACK_DEBIAN_LEVEL-ZERO_PACKAGE_CONFLICTS "libze1") |
| 432 | + set(CPACK_DEBIAN_LEVEL-ZERO_PACKAGE_PROVIDES "libze1") |
| 433 | + set(CPACK_DEBIAN_LEVEL-ZERO_PACKAGE_REPLACES "libze1") |
| 434 | + set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_PACKAGE_CONFLICTS "libze-dev") |
| 435 | + set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_PACKAGE_PROVIDES "libze-dev") |
| 436 | + set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_PACKAGE_REPLACES "libze-dev") |
| 437 | + |
| 438 | + # Canonical Ubuntu naming: libze1 (runtime) and libze-dev (development) |
| 439 | + set(CPACK_DEBIAN_LIBZE1_PACKAGE_NAME "libze1") |
| 440 | + set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_NAME "libze-dev") |
| 441 | + set(CPACK_DEBIAN_LIBZE1_FILE_NAME "libze1_${PROJECT_VERSION}+${os_name}${os_version}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") |
| 442 | + set(CPACK_DEBIAN_LIBZE-DEV_FILE_NAME "libze-dev_${PROJECT_VERSION}+${os_name}${os_version}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") |
| 443 | + set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_DEPENDS "libze1 (= ${PROJECT_VERSION})") |
| 444 | + # Mutual exclusion with the level-zero / level-zero-devel packages |
| 445 | + set(CPACK_DEBIAN_LIBZE1_PACKAGE_CONFLICTS "level-zero") |
| 446 | + set(CPACK_DEBIAN_LIBZE1_PACKAGE_PROVIDES "level-zero") |
| 447 | + set(CPACK_DEBIAN_LIBZE1_PACKAGE_REPLACES "level-zero") |
| 448 | + set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_CONFLICTS "level-zero-devel") |
| 449 | + set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_PROVIDES "level-zero-devel") |
| 450 | + set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_REPLACES "level-zero-devel") |
| 451 | + |
401 | 452 | set(CPACK_DEB_COMPONENT_INSTALL ON) |
402 | 453 | set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) |
403 | 454 | endif() |
|
0 commit comments