Updated Packaging for Debian.

This commit is contained in:
BadQuanta
2026-05-17 11:28:29 +00:00
parent 689d5e979d
commit c8465bb335
8 changed files with 885 additions and 94 deletions
+29 -6
View File
@@ -26,22 +26,45 @@ set(CPACK_SOURCE_IGNORE_FILES
string(TOUPPER "${PROJECT_NAME}" UPPER_PROJ_NAME)
# CPack explicitly needs UPPERCASE. Hyphens must remain hyphens in modern CMake CPack.
# Only include RELEASE component for actual library/asset projects, not the root
if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
set(COMP_RELEASE "${UPPER_PROJ_NAME}_RELEASE")
endif()
set(COMP_DEV "${UPPER_PROJ_NAME}_DEV")
set(COMP_DOC "${UPPER_PROJ_NAME}_DOC")
set(COMP_EXAMPLES "${UPPER_PROJ_NAME}_EXAMPLES")
if(DEFINED COMP_RELEASE)
set(CPACK_DEBIAN_${COMP_RELEASE}_PACKAGE_NAME "${PROJECT_NAME}" CACHE INTERNAL "")
set(CPACK_DEBIAN_${COMP_RELEASE}_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}.deb" CACHE INTERNAL "")
endif()
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 "")
set(CPACK_DEBIAN_${COMP_DEV}_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-dev.deb" CACHE INTERNAL "")
set(CPACK_DEBIAN_${COMP_DOC}_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-doc.deb" CACHE INTERNAL "")
set(CPACK_DEBIAN_${COMP_EXAMPLES}_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-examples.deb" CACHE INTERNAL "")
if(DEFINED ${PROJECT_NAME}_DEBIAN_DEPENDS)
# Apply dependencies for each component
if(DEFINED ${PROJECT_NAME}_DEBIAN_RELEASE_DEPENDS)
set(CPACK_DEBIAN_${COMP_RELEASE}_PACKAGE_DEPENDS "${${PROJECT_NAME}_DEBIAN_RELEASE_DEPENDS}" CACHE INTERNAL "")
endif()
if(DEFINED ${PROJECT_NAME}_DEBIAN_DEV_DEPENDS)
set(CPACK_DEBIAN_${COMP_DEV}_PACKAGE_DEPENDS "${${PROJECT_NAME}_DEBIAN_DEV_DEPENDS}" CACHE INTERNAL "")
elseif(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(DEFINED ${PROJECT_NAME}_DEBIAN_EXAMPLES_DEPENDS)
set(CPACK_DEBIAN_${COMP_EXAMPLES}_PACKAGE_DEPENDS "${${PROJECT_NAME}_DEBIAN_EXAMPLES_DEPENDS}" CACHE INTERNAL "")
endif()
if(DEFINED ${PROJECT_NAME}_DEBIAN_DOC_DEPENDS)
set(CPACK_DEBIAN_${COMP_DOC}_PACKAGE_DEPENDS "${${PROJECT_NAME}_DEBIAN_DOC_DEPENDS}" CACHE INTERNAL "")
endif()
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)