Working on debian packaging for first prototype release.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user