|
| 1 | +# required for DEB-DEFAULT to work as intended |
| 2 | +cmake_minimum_required(VERSION 3.6) |
| 3 | + |
| 4 | +# TODO: modify dependency lists depending on settings like USE_SYSTEM_CURL |
| 5 | +# this file has been built for the default settings |
| 6 | + |
| 7 | +set(PROJECT_VERSION 1.0) |
| 8 | +set(CPACK_GENERATOR "DEB") |
| 9 | + |
| 10 | +set(CPACK_DEBIAN_PACKAGE_DEBUG ON) |
| 11 | + |
| 12 | +# packaging only libappimageupdate for now |
| 13 | +#set(CPACK_COMPONENTS_ALL APPIMAGEUPDATE APPIMAGEUPDATETOOL LIBAPPIMAGEUPDATE LIBAPPIMAGEUPDATE-DEV LIBAPPIMAGEUPDATE-QT LIBAPPIMAGEUPDATE-QT-DEV) |
| 14 | +set(CPACK_COMPONENTS_ALL LIBAPPIMAGEUPDATE LIBAPPIMAGEUPDATE-DEV) |
| 15 | + |
| 16 | +# global options |
| 17 | +set(CPACK_PACKAGE_CONTACT "TheAssassin") |
| 18 | +set(CPACK_PACKAGE_HOMEPAGE "https://github.com/AppImage/AppImageUpdate") |
| 19 | +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md") |
| 20 | +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt") |
| 21 | + |
| 22 | +# allow building Debian packages on non-Debian systems |
| 23 | +if(DEFINED ENV{ARCH}) |
| 24 | + set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE $ENV{ARCH}) |
| 25 | + if(CPACK_DEBIAN_PACKAGE_ARCHITECTURE MATCHES "i686") |
| 26 | + set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "i386") |
| 27 | + endif() |
| 28 | +endif() |
| 29 | + |
| 30 | +# make sure to package components separately |
| 31 | +#set(CPACK_DEB_PACKAGE_COMPONENT ON) |
| 32 | +set(CPACK_DEB_COMPONENT_INSTALL ON) |
| 33 | + |
| 34 | +# override default package naming |
| 35 | +set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) |
| 36 | + |
| 37 | +# Debian packaging global options |
| 38 | +set(CPACK_DEBIAN_COMPRESSION_TYPE xz) |
| 39 | + |
| 40 | +set(CPACK_DEBIAN_LIBAPPIMAGEUPDATE_PACKAGE_NAME "libappimageupdate") |
| 41 | +set(CPACK_DEBIAN_LIBAPPIMAGEUPDATE_PACKAGE_VERSION "${APPIMAGEUPDATE_VERSION}") |
| 42 | +set(CPACK_DEBIAN_LIBAPPIMAGEUPDATE_PACKAGE_RELEASE "git${APPIMAGEUPDATE_GIT_COMMIT}") |
| 43 | +set(CPACK_DEBIAN_LIBAPPIMAGEUPDATE_PACKAGE_DEPENDS "libcurl3, libstdc++6, libgcc1, libc6") |
| 44 | + |
| 45 | +set(CPACK_DEBIAN_LIBAPPIMAGEUPDATE-DEV_PACKAGE_NAME "libappimageupdate-dev") |
| 46 | +set(CPACK_DEBIAN_LIBAPPIMAGEUPDATE-DEV_PACKAGE_VERSION "${APPIMAGEUPDATE_VERSION}") |
| 47 | +set(CPACK_DEBIAN_LIBAPPIMAGEUPDATE-DEV_PACKAGE_RELEASE "git${APPIMAGEUPDATE_GIT_COMMIT}") |
| 48 | +set(CPACK_DEBIAN_LIBAPPIMAGEUPDATE-DEV_PACKAGE_DEPENDS "libappimageupdate, libcurl3-gnutls-dev, libstdc++-5-dev") |
| 49 | + |
| 50 | +# improve dependency list |
| 51 | +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) |
| 52 | + |
| 53 | +# TODO: insert some useful description |
| 54 | +set(CPACK_COMPONENT_APPIMAGELAUNCHER_PACKAGE_DESCRIPTION "AppImageLauncher") |
| 55 | + |
| 56 | +# find more suitable section for package |
| 57 | +set(CPACK_COMPONENT_APPIMAGELAUNCHER_PACKAGE_SECTION misc) |
| 58 | + |
| 59 | +# add postinst and prerm hooks to Debian package |
| 60 | +set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA |
| 61 | + "${PROJECT_SOURCE_DIR}/cmake/debian/postinst;${PROJECT_SOURCE_DIR}/cmake/debian/prerm") |
| 62 | + |
| 63 | +# must be the last instruction |
| 64 | +include(CPack) |
0 commit comments