Updates for CPack Debian release generation.

This commit is contained in:
BadQuanta
2026-05-17 11:32:15 +00:00
parent 878ae78dd3
commit 14924b9d46
6 changed files with 821 additions and 12 deletions
+3 -3
View File
@@ -1,9 +1,9 @@
# HDK Documentation Policy
include(GNUInstallDirs)
option(${PROJECT_NAME}_DOCS "Build documentation for ${PROJECT_NAME}" OFF)
option(HDK_DOCS "Build documentation for ${PROJECT_NAME}" OFF)
if(${PROJECT_NAME}_DOCS)
if(HDK_DOCS)
find_package(Doxygen)
if(DOXYGEN_FOUND)
set(DOXYGEN_GENERATE_HTML YES)
@@ -40,7 +40,7 @@ if(${PROJECT_NAME}_DOCS)
set(_hdk_doc_mainpage "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
endif()
doxygen_add_docs(docs
doxygen_add_docs(${PROJECT_NAME}-docs
${_hdk_doc_mainpage}
${CMAKE_CURRENT_SOURCE_DIR}/include/
${CMAKE_CURRENT_SOURCE_DIR}/src/
+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)