From b30ee28acb22ceafc1944e57bda23efdd353379a Mon Sep 17 00:00:00 2001 From: Nik Reist Date: Sat, 11 Jul 2020 23:33:14 +0200 Subject: cmake: add include file containing CPack-specific stuff --- cmake/packaging.cmake | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 cmake/packaging.cmake diff --git a/cmake/packaging.cmake b/cmake/packaging.cmake new file mode 100644 index 000000000..bb544109f --- /dev/null +++ b/cmake/packaging.cmake @@ -0,0 +1,108 @@ +# Copyright 2020 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + +if(WIN32) + set(CPACK_GENERATOR WIX) + + if(64_BIT) + set(CPACK_WIX_PRODUCT_GUID "E028BDFC-3FE2-4BEE-A33B-EB9C80611555") + elseif(32_BIT) + set(CPACK_WIX_PRODUCT_GUID "B0EEFCC7-8A9C-4471-AB10-CBD35BE3161D") + endif() + + set(CPACK_WIX_CULTURES "en-us") + set(CPACK_WIX_LCID "1033") + set(CPACK_WIX_UI_BANNER "${CMAKE_SOURCE_DIR}/installer/bannrbmp.bmp") + set(CPACK_WIX_UI_DIALOG "${CMAKE_SOURCE_DIR}/installer/dlgbmp.bmp") + set(CPACK_WIX_PRODUCT_GUID "84afea8b-15e5-4cc7-b77d-27dd17030944") + set(CPACK_WIX_PRODUCT_ICON "${CMAKE_SOURCE_DIR}/icons/mumble.ico") + set(CPACK_WIX_EXTENSIONS "WiXUtilExtension") + set(CPACK_WIX_TEMPLATE "wix-template.xml") +endif() + +set(CPACK_PACKAGE_EXECUTABLES "mumble;Mumble" "murmur;Murmur") +set(CPACK_CREATE_DESKTOP_LINKS "mumble;Mumble" "murmur;Murmur") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "Mumble") + +if(client) + set(CPACK_PACKAGE_NAME "Mumble (client)") + set(CPACK_PACKAGE_FILE_NAME "mumble_client-${version}") + set(CPACK_PACKAGE_VENDOR "Mumble VoIP") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mumble is a free, open source, low latency, high quality voice chat application.") + set(CPACK_PACKAGE_HOMEPAGE_URL "https://mumble.info") + set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/installer/gpl.rtf") + set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") + set(CPACK_COMPONENTS_ALL mumble_client) + set(CPACK_COMPONENT_MUMBLE_CLIENT_DISPLAY_NAME "Client") + set(CPACK_COMPONENT_MUMBLE_CLIENT_DESCRIPTION "The Mumble VoIP Client") + #set(CPACK_WIX_PATCH_FILE "${CMAKE_SOURCE_DIR}/installer/client-shortcuts.xml") + set(CPACK_COMPONENT_MUMBLE_CLIENT_REQUIRED ON) + + install(FILES + "${CMAKE_SOURCE_DIR}/CHANGES" + "${CMAKE_SOURCE_DIR}/installer/gpl.txt" + "${CMAKE_SOURCE_DIR}/installer/qt.txt" + "${CMAKE_SOURCE_DIR}/installer/speex.txt" + DESTINATION "." + COMPONENT mumble_client + ) +endif() + +if(server) + if(NOT client) + if(WIN32) + set(CPACK_WIX_PRODUCT_GUID "ccc5eaa4-0b88-4197-9e54-580d37003903") + set(CPACK_WIX_UPGRADE_GUID "03e9476f-0f75-4661-bfc9-a9daeb23d3a0") + endif() + + set(CPACK_PACKAGE_NAME "Mumble (server)") + set(CPACK_PACKAGE_FILE_NAME "mumble_server-${version}") + set(CPACK_PACKAGE_VENDOR "Mumble VoIP") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mumble is a free, open source, low latency, high quality voice chat application.") + set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/installer/gpl.rtf") + set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README") + set(CPACK_COMPONENT_MUMBLE_SERVER_REQUIRED ON) + + install(FILES + "${CMAKE_SOURCE_DIR}/CHANGES" + "${CMAKE_SOURCE_DIR}/installer/gpl.txt" + "${CMAKE_SOURCE_DIR}/installer/qt.txt" + DESTINATION "." + COMPONENT mumble_server + ) + endif() + + set(CPACK_COMPONENTS_ALL mumble_server) + set(CPACK_COMPONENT_MUMBLE_SERVER_DISPLAY_NAME "Server") + set(CPACK_COMPONENT_MUMBLE_SERVER_DESCRIPTION "The Mumble VoIP Server") + #set(CPACK_WIX_PATCH_FILE "${CMAKE_SOURCE_DIR}/installer/server-shortcuts.xml") + + if(WIN32) + install(FILES "${CMAKE_SOURCE_DIR}/scripts/murmur.ini" DESTINATION "." COMPONENT mumble_server) + endif() +endif() + +if(client AND server) + if(WIN32) + set(CPACK_PACKAGE_NAME "Mumble") + set(CPACK_PACKAGE_FILE_NAME "Mumble-${version}") + set(CPACK_PACKAGE_VENDOR "Mumble VoIP") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mumble is a free, open source, low latency, high quality voice chat application.") + set(CPACK_COMPONENT_MUMBLE_SERVER_DISABLED ON) + # set(CPACK_WIX_PATCH_FILE + # "${CMAKE_SOURCE_DIR}/installer/client-shortcuts.xml" + # "${CMAKE_SOURCE_DIR}/installer/server-shortcuts.xml" + # ) + endif() + + set(CPACK_COMPONENTS_ALL mumble_client mumble_server) +endif() + +if(WIN32) + set(CPACK_WIX_UPGRADE_GUID ${CPACK_WIX_PRODUCT_GUID}) + configure_file("${CMAKE_SOURCE_DIR}/installer/wix-template.xml" ${CMAKE_CURRENT_BINARY_DIR}) +endif() + +include(CPack) -- cgit v1.2.3