Files
hdk-sdl/cmake/HDKPackaging.cmake
T
2026-05-16 21:37:44 +00:00

49 lines
1.8 KiB
CMake

# HDK Packaging Policy
# Define variables for CPack
set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
set(CPACK_PACKAGE_VERSION "${CMAKE_PROJECT_VERSION}")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CMAKE_PROJECT_DESCRIPTION}")
# We mainly want component-based installations for nice split packages
set(CPACK_DEB_COMPONENT_INSTALL ON CACHE INTERNAL "Enable component install")
# Setup Debian Generator
set(CPACK_GENERATOR "DEB" CACHE INTERNAL "Deb generator")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "HDK Team" CACHE INTERNAL "HDK Team")
# Source package generator
set(CPACK_SOURCE_GENERATOR "TGZ;ZIP" CACHE INTERNAL "Sources")
set(CPACK_SOURCE_IGNORE_FILES
"/.git/"
"/build/"
"/build.*/"
".*~$"
CACHE INTERNAL "Ignores"
)
# Component specific configurations
string(TOUPPER "${PROJECT_NAME}" UPPER_PROJ_NAME)
# CPack explicitly needs UPPERCASE. Hyphens must remain hyphens in modern CMake CPack.
set(COMP_DEV "${UPPER_PROJ_NAME}_DEV")
set(COMP_DOC "${UPPER_PROJ_NAME}_DOC")
set(COMP_EXAMPLES "${UPPER_PROJ_NAME}_EXAMPLES")
set(CPACK_DEBIAN_${COMP_DEV}_PACKAGE_NAME "${PROJECT_NAME}-dev" CACHE INTERNAL "")
set(CPACK_DEBIAN_${COMP_DOC}_PACKAGE_NAME "${PROJECT_NAME}-doc" CACHE INTERNAL "")
set(CPACK_DEBIAN_${COMP_EXAMPLES}_PACKAGE_NAME "${PROJECT_NAME}-examples" CACHE INTERNAL "")
set(CPACK_DEBIAN_${COMP_DEV}_FILE_NAME "${PROJECT_NAME}-dev.deb" CACHE INTERNAL "")
set(CPACK_DEBIAN_${COMP_DOC}_FILE_NAME "${PROJECT_NAME}-doc.deb" CACHE INTERNAL "")
set(CPACK_DEBIAN_${COMP_EXAMPLES}_FILE_NAME "${PROJECT_NAME}-examples.deb" CACHE INTERNAL "")
if(DEFINED ${PROJECT_NAME}_DEBIAN_DEPENDS)
set(CPACK_DEBIAN_${COMP_DEV}_PACKAGE_DEPENDS "${${PROJECT_NAME}_DEBIAN_DEPENDS}" CACHE INTERNAL "")
else()
set(CPACK_DEBIAN_PACKAGE_DEPENDS "" CACHE INTERNAL "No Debian package dependencies")
endif()
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
include(CPack)
endif()