include(GNUInstallDirs) set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") set(CPACK_PACKAGE_CONTACT "tastytea ") # Should be set automatically, but they are not. set(CPACK_PACKAGE_NAME "${PROJECT_NAME}") set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CMAKE_PROJECT_DESCRIPTION}") # DEB # Figure out dependencies automatically. set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) # Should be set automatically, but it is not. execute_process(COMMAND dpkg --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND lsb_release --codename --short OUTPUT_VARIABLE DEBIAN_CODENAME OUTPUT_STRIP_TRAILING_WHITESPACE) if ("${DEBIAN_CODENAME}" STREQUAL "n/a") set(DEBIAN_CODENAME "unknown") endif() # The default does not produce valid Debian package names. set(CPACK_DEBIAN_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}-0_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}_${DEBIAN_CODENAME}.deb") # RPM set(CPACK_RPM_PACKAGE_LICENSE "AGPL-3") # Figure out dependencies automatically. set(CPACK_RPM_PACKAGE_AUTOREQ ON) # Should be set automatically, but it is not. execute_process(COMMAND uname -m OUTPUT_VARIABLE CPACK_RPM_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-0.${CPACK_RPM_PACKAGE_ARCHITECTURE}") execute_process(COMMAND lsb_release --id --short OUTPUT_VARIABLE OS OUTPUT_STRIP_TRAILING_WHITESPACE) if("${OS}" STREQUAL "openSUSE") execute_process(COMMAND lsb_release --release --short OUTPUT_VARIABLE OS_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE) set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-0.${CPACK_RPM_PACKAGE_ARCHITECTURE}.opensuse-${OS_RELEASE}") endif() include(CPack)