MAINT: Use separate directory for auxiliary files

This commit is contained in:
Robert Adam 2022-08-28 18:28:31 +02:00
parent 4b6aabe5ac
commit 406ce93b47
23 changed files with 92 additions and 76 deletions

View File

@ -175,6 +175,8 @@ if(plugins AND client)
add_subdirectory(plugins)
endif()
add_subdirectory(auxiliary_files)
if(packaging)
file(COPY
${CMAKE_SOURCE_DIR}/installer/gpl.txt

View File

@ -0,0 +1,36 @@
# Copyright 2022 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 <https://www.mumble.info/LICENSE>.
if(client)
# Install Mumble man files
install(FILES "man_files/mumble.1" DESTINATION "${MUMBLE_INSTALL_MANDIR}" COMPONENT doc)
if(UNIX AND NOT APPLE)
configure_file("config_files/info.mumble.Mumble.appdata.xml.in" "${CMAKE_BINARY_DIR}/info.mumble.Mumble.appdata.xml")
configure_file("config_files/info.mumble.Mumble.desktop.in" "${CMAKE_BINARY_DIR}/info.mumble.Mumble.desktop")
install(FILES "${CMAKE_BINARY_DIR}/info.mumble.Mumble.appdata.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
install(FILES "${CMAKE_BINARY_DIR}/info.mumble.Mumble.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
endif()
endif()
if(server)
file(COPY "mumble_server.ini" DESTINATION ${CMAKE_BINARY_DIR})
file(COPY "config_files/mumble-server.conf" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
if(UNIX)
# Install Murmur man files
install(FILES "man_files/mumble-server.1" DESTINATION "${MUMBLE_INSTALL_MANDIR}" COMPONENT doc)
install(FILES "man_files/mumble-server-user-wrapper.1" DESTINATION "${MUMBLE_INSTALL_MANDIR}" COMPONENT doc)
endif()
endif()
if(overlay)
if(UNIX)
# install overlay script
install(PROGRAMS "run_scripts/mumble-overlay" DESTINATION "${MUMBLE_INSTALL_SCRIPTDIR}")
# install overlay man-files
install(FILES "man_files/mumble-overlay.1" DESTINATION "${MUMBLE_INSTALL_MANDIR}" COMPONENT doc)
endif()
endif()

View File

@ -6,7 +6,7 @@
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/><!-- Win 7 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/><!-- Win 8 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/><!-- Win 8.1 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/><!-- Win 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/><!-- Win 10 & 11 -->
</application>
</compatibility>
</assembly>

View File

@ -1,4 +1,4 @@
; Murmur configuration file.
; Mumble server configuration file.
;
; General notes:
; * Settings in this file are default settings and many of them can be overridden
@ -12,10 +12,10 @@
; NOT regex = \w* BUT regex = \\w*
; Path to database. If blank, will search for
; murmur.sqlite in default locations or create it if not found.
; mumble_server.sqlite in default locations or create it if not found.
database=
; Murmur defaults to using SQLite with its default rollback journal.
; The server defaults to using SQLite with its default rollback journal.
; In some situations, using SQLite's write-ahead log (WAL) can be
; advantageous.
; If you encounter slowdowns when moving between channels and similar
@ -26,13 +26,13 @@ database=
;
; 0 - Use SQLite's default rollback journal.
; 1 - Use write-ahead log with synchronous=NORMAL.
; If Murmur crashes, the database will be in a consistent state, but
; If the server crashes, the database will be in a consistent state, but
; the most recent changes might be lost if the operating system did
; not write them to disk yet. This option can improve Murmur's
; not write them to disk yet. This option can improve the server's
; interactivity on busy servers, or servers with slow storage.
; 2 - Use write-ahead log with synchronous=FULL.
; All database writes are synchronized to disk when they are made.
; If Murmur crashes, the database will be include all completed writes.
; If the server crashes, the database will be include all completed writes.
;sqlite_wal=0
; If you wish to use something other than SQLite, you'll need to set the name
@ -45,19 +45,19 @@ database=
;dbPassword=
;dbHost=
;dbPort=
;dbPrefix=murmur_
;dbPrefix=mumble_server_
;dbOpts=
; Murmur defaults to not using D-Bus. If you wish to use dbus, which is one of the
; RPC methods available in Murmur, please specify so here.
; The server defaults to not using D-Bus. If you wish to use dbus, which is one of the
; RPC methods available in the server, please specify so here.
;
;dbus=session
; Alternate D-Bus service name. Only use if you are running distinct
; murmurd processes connected to the same D-Bus daemon.
; mumble server processes connected to the same D-Bus daemon.
;dbusservice=net.sourceforge.mumble.murmur
; If you want to use ZeroC Ice to communicate with Murmur, you need
; If you want to use ZeroC Ice to communicate with the server, you need
; to specify the endpoint to use. Since there is no authentication
; with ICE, you should only use it if you trust all the users who have
; shell access to your machine.
@ -79,13 +79,13 @@ ice="tcp -h 127.0.0.1 -p 6502"
;icesecretread=
icesecretwrite=
; Specifies the file Murmur should log to. By default, Murmur
; logs to the file 'murmur.log'. If you leave this field blank
; on Unix-like systems, Murmur will force itself into foreground
; Specifies the file the server should log to. By default the server
; logs to the file 'mumble_server.log'. If you leave this field blank
; on Unix-like systems, the server will force itself into foreground
; mode which logs to the console.
;logfile=murmur.log
;logfile=mumble_server.log
; If set, Murmur will write its process ID to this file
; If set, the server will write its process ID to this file
; when running in daemon mode (when the -fg flag is not
; specified on the command line). Only available on
; Unix-like systems.
@ -98,7 +98,7 @@ icesecretwrite=
; Welcome message sent to clients when they connect.
; If the welcome message is set to an empty string,
; no welcome message will be sent to clients.
welcometext="<br />Welcome to this server running <b>Murmur</b>.<br />Enjoy your stay!<br />"
welcometext="<br />Welcome to this server running <b>Mumble</b>.<br />Enjoy your stay!<br />"
; The welcometext can also be read from an external file which might be useful
; if you want to specify a rather lengthy text. If a value for welcometext is
@ -109,7 +109,7 @@ welcometext="<br />Welcome to this server running <b>Murmur</b>.<br />Enjoy your
port=64738
; Specific IP or hostname to bind to.
; If this is left blank (default), Murmur will bind to all available addresses.
; If this is left blank (default), the server will bind to all available addresses.
;host=
; Password to join server.
@ -119,8 +119,8 @@ serverpassword=
; to send speech at.
bandwidth=558000
; Murmur and Mumble are usually pretty good about cleaning up hung clients, but
; occasionally one will get stuck on the server. The timeout setting will cause
; The Mumble client and server are usually pretty good about cleaning up hung clients,
; but occasionally one will get stuck on the server. The timeout setting will cause
; a periodic check of all clients who haven't communicated with the server in
; this many seconds - causing zombie clients to be disconnected.
;
@ -193,7 +193,7 @@ allowping=true
; moved into that channel instead. Note that this is the numeric ID of the
; channel, which can be a little tricky to get (you'll either need to use an
; RPC mechanism, watch the console of a debug client, or root around through
; the Murmur Database to get it).
; the server database to get it).
;
;defaultchannel=0
@ -217,7 +217,7 @@ allowping=true
; Allow clients to use HTML in messages, user comments and channel descriptions?
;allowhtml=true
; Murmur retains the per-server log entries in an internal database which
; The server retains the per-server log entries in an internal database which
; allows it to be accessed over D-Bus/ICE.
; How many days should such entries be kept?
; Set to 0 to keep forever, or -1 to disable logging to the DB.
@ -249,18 +249,18 @@ allowping=true
;bonjour=true
; If you have a proper SSL certificate, you can provide the filenames here.
; Otherwise, Murmur will create its own certificate automatically.
; Otherwise, the server will create its own certificate automatically.
;sslCert=
;sslKey=
; If the keyfile specified above is encrypted with a passphrase, you can enter
; it in this setting. It must be plaintext, so you may wish to adjust the
; permissions on your murmur.ini file accordingly.
; permissions on your mumble_server.ini file accordingly.
;sslPassPhrase=
; If your certificate is signed by an authority that uses a sub-signed or
; "intermediate" certificate, you probably need to bundle it with your
; certificate in order to get Murmur to accept it. You can either concatenate
; certificate in order to get the server to accept it. You can either concatenate
; the two certificates into one file, or you can put it in a file by itself and
; put the path to that PEM-file in sslCA.
;sslCA=
@ -270,13 +270,13 @@ allowping=true
; Hellman parameters for all virtual servers.
;
; Instead of pointing sslDHParams to a file, you can also use the option
; to specify a named set of Diffie-Hellman parameters for Murmur to use.
; Murmur comes bundled with the Diffie-Hellman parameters from RFC 7919.
; to specify a named set of Diffie-Hellman parameters for the server to use.
; The server comes bundled with the Diffie-Hellman parameters from RFC 7919.
; These parameters are available by using the following names:
;
; @ffdhe2048, @ffdhe3072, @ffdhe4096, @ffdhe6144, @ffdhe8192
;
; By default, Murmur uses @ffdhe2048.
; By default, the server uses @ffdhe2048.
;sslDHParams=@ffdhe2048
; The sslCiphers option chooses the cipher suites to make available for use
@ -289,21 +289,21 @@ allowping=true
; It is recommended that you try your cipher string using 'openssl ciphers <string>'
; before setting it here, to get a feel for which cipher suites you will get.
;
; After setting this option, it is recommend that you inspect your Murmur log
; to ensure that Murmur is using the cipher suites that you expected it to.
; After setting this option, it is recommend that you inspect your server log
; to ensure that the server is using the cipher suites that you expected it to.
;
; Note: Changing this option may impact the backwards compatibility of your
; Murmur server, and can remove the ability for older Mumble clients to be able
; server, and can remove the ability for older Mumble clients to be able
; to connect to it.
;sslCiphers=EECDH+AESGCM:EDH+aRSA+AESGCM:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-SHA:AES128-SHA
; If Murmur is started as root, which user should it switch to?
; This option is ignored if Murmur isn't started with root privileges.
; If the server is started as root, which user should it switch to?
; This option is ignored if the server isn't started with root privileges.
;uname=
; By default, in log files and in the user status window for privileged users,
; Mumble will show IP addresses - in some situations you may find this unwanted
; behavior. If obfuscate is set to true, Murmur will randomize the IP addresses
; behavior. If obfuscate is set to true, the server will randomize the IP addresses
; of connecting users.
;
; The obfuscate function only affects the log file and DOES NOT effect the user
@ -361,19 +361,19 @@ allowping=true
;kdfiterations=-1
; In order to prevent misconfigured, impolite or malicious clients from
; affecting the low-latency of other users, Murmur has a rudimentary global-ban
; affecting the low-latency of other users, the server has a rudimentary global-ban
; system. It's configured using the autobanAttempts, autobanTimeframe and
; autobanTime settings.
;
; If a client attempts autobanAttempts connections in autobanTimeframe seconds,
; they will be banned for autobanTime seconds. This is a global ban, from all
; virtual servers on the Murmur process. It will not show up in any of the
; virtual servers on the server process. It will not show up in any of the
; ban-lists on the server, and they can't be removed without restarting the
; Murmur process - just let them expire. A single, properly functioning client
; server process - just let them expire. A single, properly functioning client
; should not trip these bans.
;
; To disable, set autobanAttempts or autobanTimeframe to 0. Commenting these
; settings out will cause Murmur to use the defaults:
; settings out will cause the server to use the defaults:
;
; To avoid autobanning successful connection attempts from the same IP address,
; set autobanSuccessfulConnections=false.
@ -386,14 +386,14 @@ allowping=true
; Enables logging of group changes. This means that every time a group in a
; channel changes, the server will log all groups and their members from before
; the change and after the change. Default is false. This option was introduced
; with Murmur 1.4.0.
; with Mumble server 1.4.0.
;
;loggroupchanges=false
; Enables logging of ACL changes. This means that every time the ACL in a
; channel changes, the server will log all ACLs from before the change and
; after the change. Default is false. This option was introduced with Murmur
; 1.4.0.
; after the change. Default is false. This option was introduced with
; Mumble server 1.4.0.
;
;logaclchanges=false
@ -401,7 +401,7 @@ allowping=true
; clients will respect this option in the UI (e.g. disable the recording feature
; in the UI). Additionally any client that tries to start a recording is kicked
; from the server with a corresponding message, if recording is disabled.
; Default is true. This option was introduced with Murmur 1.5.0.
; Default is true. This option was introduced with Mumble server 1.5.0.
;
; allowRecording=true

View File

@ -15,7 +15,7 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/g15helper.rc.in" "${G15HELPER_RC}")
get_target_property(MUMBLE_SOURCE_DIR mumble SOURCE_DIR)
add_executable(g15-helper WIN32
"${MUMBLE_SOURCE_DIR}/mumble.appcompat.manifest"
"${CMAKE_SOURCE_DIR}/auxiliary_files/mumble.appcompat.manifest"
"${G15HELPER_RC}"
)

View File

@ -14,7 +14,7 @@ if(BUILD_OVERLAY_XCOMPILE)
LANGUAGES CXX
)
include("${PARENT_SOURCE_DIR}/cmake/compiler.cmake")
include("${MUMBLE_SOURCE_ROOT}/cmake/compiler.cmake")
endif()
set(DX11_PIXEL_SHADERS "overlay11.ps")
@ -118,7 +118,7 @@ if(BUILD_OVERLAY_XCOMPILE)
target_include_directories(overlay
PRIVATE
${Boost_INCLUDE_DIRS}
${PARENT_SOURCE_DIR}
${MUMBLE_SOURCE_ROOT}
${CMAKE_CURRENT_BINARY_DIR}
)
else()
@ -156,8 +156,7 @@ if(64_BIT AND MSVC)
CMAKE_GENERATOR ${CMAKE_GENERATOR}
CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
"-DVCPKG_TARGET_TRIPLET=x86-windows-static-md"
"-DPARENT_SOURCE_DIR=${CMAKE_SOURCE_DIR}"
"-DMUMBLE_SOURCE_DIR=${CMAKE_SOURCE_DIR}/src/mumble"
"-DMUMBLE_SOURCE_ROOT=${CMAKE_SOURCE_DIR}"
"-DMUMBLE_BINARY_DIR=${CMAKE_BINARY_DIR}"
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
# Force MSVC, because CMake prioritizes MinGW over it.
@ -179,8 +178,7 @@ if(64_BIT AND MSVC)
-G ${CMAKE_GENERATOR}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
"-DVCPKG_TARGET_TRIPLET=x86-windows-static-md"
"-DPARENT_SOURCE_DIR=${CMAKE_SOURCE_DIR}"
"-DMUMBLE_SOURCE_DIR=${CMAKE_SOURCE_DIR}/src/mumble"
"-DMUMBLE_SOURCE_ROOT=${CMAKE_SOURCE_DIR}"
"-DMUMBLE_BINARY_DIR=${CMAKE_BINARY_DIR}"
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
# Force MSVC, because CMake prioritizes MinGW over it.

View File

@ -17,14 +17,14 @@ else()
endif()
if(NOT BUILD_OVERLAY_XCOMPILE)
get_target_property(MUMBLE_SOURCE_DIR mumble SOURCE_DIR)
set(MUMBLE_SOURCE_ROOT "${CMAKE_SOURCE_DIR}")
endif()
add_executable(overlay_exe WIN32
"overlay_exe.cpp"
"overlay_exe.h"
"${MUMBLE_SOURCE_DIR}/mumble.appcompat.manifest"
"${MUMBLE_SOURCE_ROOT}/auxiliary_files/mumble.appcompat.manifest"
"${OVERLAY_EXE_RC}"
)
@ -33,7 +33,7 @@ set_target_properties(overlay_exe PROPERTIES OUTPUT_NAME ${OUTPUT_NAME})
if(BUILD_OVERLAY_XCOMPILE)
set_target_properties(overlay_exe PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${MUMBLE_BINARY_DIR})
target_include_directories(overlay_exe PRIVATE ${PARENT_SOURCE_DIR}/overlay)
target_include_directories(overlay_exe PRIVATE ${MUMBLE_SOURCE_ROOT}/overlay)
else()
set_target_properties(overlay_exe PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})

View File

@ -129,8 +129,3 @@ endif()
# install native overlay library
install(TARGETS overlay_gl LIBRARY DESTINATION "${MUMBLE_INSTALL_LIBDIR}")
# install overlay script
install(PROGRAMS "${CMAKE_SOURCE_DIR}/scripts/mumble-overlay" DESTINATION "${MUMBLE_INSTALL_SCRIPTDIR}")
# install overlay man-files
install(FILES "${CMAKE_SOURCE_DIR}/man/mumble-overlay.1" DESTINATION "${MUMBLE_INSTALL_MANDIR}" COMPONENT doc)

View File

@ -258,11 +258,7 @@ endif()
if(client)
add_subdirectory(mumble)
configure_file("${CMAKE_SOURCE_DIR}/scripts/info.mumble.Mumble.appdata.xml.in" "${CMAKE_BINARY_DIR}/info.mumble.Mumble.appdata.xml")
if(UNIX AND NOT APPLE)
install(FILES "${CMAKE_BINARY_DIR}/info.mumble.Mumble.appdata.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
install(FILES "${CMAKE_SOURCE_DIR}/scripts/info.mumble.Mumble.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
install(FILES "${CMAKE_SOURCE_DIR}/icons/mumble.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps")
install(FILES "${CMAKE_SOURCE_DIR}/icons/mumble_256x256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "mumble.png")
endif()

View File

@ -353,7 +353,7 @@ else()
if(WIN32)
target_sources(mumble_client_object_lib
PRIVATE
"mumble.appcompat.manifest"
"${CMAKE_SOURCE_DIR}/auxiliary_files/mumble.appcompat.manifest"
"${MUMBLE_RC}"
)
@ -417,9 +417,6 @@ else()
else()
install(TARGETS mumble BUNDLE DESTINATION "${MUMBLE_INSTALL_EXECUTABLEDIR}" COMPONENT mumble_client)
endif()
# Install Mumble man files
install(FILES "${CMAKE_SOURCE_DIR}/man/mumble.1" DESTINATION "${MUMBLE_INSTALL_MANDIR}" COMPONENT doc)
endif()
target_compile_definitions(mumble_client_object_lib

View File

@ -13,7 +13,7 @@ target_sources(mumble_exe PRIVATE
"mumble_exe.cpp"
"Overlay.cpp"
"${SHARED_SOURCE_DIR}/mumble/mumble.appcompat.manifest"
"${CMAKE_SOURCE_DIR}/auxiliary_files/mumble.appcompat.manifest"
"${MUMBLE_RC}"
)

View File

@ -118,7 +118,7 @@ if(WIN32)
"Tray.h"
"murmur.qrc"
"${SHARED_SOURCE_DIR}/mumble/mumble.appcompat.manifest"
"${CMAKE_SOURCE_DIR}/auxiliary_files/mumble.appcompat.manifest"
"${MURMUR_RC}"
)
@ -281,14 +281,6 @@ endif()
install(TARGETS mumble-server RUNTIME DESTINATION "${MUMBLE_INSTALL_EXECUTABLEDIR}" COMPONENT mumble_server)
file(COPY "${CMAKE_SOURCE_DIR}/scripts/murmur.ini" DESTINATION ${CMAKE_BINARY_DIR})
if(UNIX)
# Install Murmur man files
install(FILES "${CMAKE_SOURCE_DIR}/man/mumble-server.1" DESTINATION "${MUMBLE_INSTALL_MANDIR}" COMPONENT doc)
install(FILES "${CMAKE_SOURCE_DIR}/man/mumble-server-user-wrapper.1" DESTINATION "${MUMBLE_INSTALL_MANDIR}" COMPONENT doc)
endif()
if(packaging)
if(WIN32)
if(translations)