Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-26BUILD(appstream): Include release dateJonah Brüchert
Flathub requires this now. This is done in the same way as the build number.
2022-03-27BUILD: Allow to prefer system GSL-installation over bundled oneRobert Adam
2022-03-16CHANGE(server): Remove gRPC implementationRobert Adam
The gRPC implementation never left the experimental state and never reached a properly stable state to the point where we would feel good about enabling it by default. In addition to that, there has been no further attempts at finding and fixing the encountered issues in the implementation (except #3947 but that was discontinued). As such we had an essentially unmaintained piece of code in our server implementation that was known to be buggy and that nobody wanted to fix. In addition to that the implementation itself could not be considered very clean or elegant and therefore only represented a few smelly corners in our code base. For this reason, we decided to remove the gRPC support entirely from Mumble (for now). What we hope to gain by that is: - Prevent people from building unstable server versions and then coming to us complaining that it crashed/misbehaved - Removing (essentially) dead code - Reduce the RPC implementation complexity That last piece is crucial: By removing gRPC support we reduce the amount of supported RPC frameworks to only one (ignoring DBus for now). Our future plans include a refactoring of how RPC is being handled and implemented and only having to worry about maintaining compatibility with one RPC system is much easier than having to worry about two (with (slightly) different APIs). Once the RPC implementation has been rewritten, more RPC backends may be reintroduced and in that process we might investigate adding a proper gRPC implementation to the code (that then hopefully is more stable than the current one). Fixes #4567 Fixes #4197 Fixes #3496 Fixes #3429 Fixes #3265
2022-02-06Merge PR #5502: BUILD(client): overlay_gl: Detect OpenBSDRobert Adam
2022-02-06BUILD(client): Do not build overlay by default on OpenBSDKlemens Nanni
`overlay_gl/init_unix.c` is inherently Linux and FreeBSD specific, so the build will fail until an OpenBSD implementation exists.
2022-01-21BUILD: Build tests in package builds by defaultKlemens Nanni
Encourage OS package maintainers to run tests by `packaging=ON` implying `tests=ON`. Keep `online-tests=OFF` by default since it is common practise for packages to be built in unprivileged environments, e.g. without network.
2022-01-04MAINT: Update copyright to 2022Robert Adam
2022-01-01BUILD: Remove concept of an RELEASE_IDRobert Adam
Having a separate RELEASE_ID just unnecessarily complicates drafting releases. Plus, now that we are using different build numbers for every new build anyway, a separate release ID is really not necessary.
2021-12-26BUILD: Enable LTO, if supportedRobert Adam
In theory LTO could give us a bit more performance than what we are currently seeing. Client-side this will probably not be very noticeably but on the server-side a few drops of extra performance can't hurt. LTO will be enabled by default in all non-Debug builds. It remains disabled for Debug builds as this is expected to be the kind of build that a developer will use when they perform their work and there it is useful to be able to go through multiple iterations of the program, without waiting long times on the linker each time.
2021-11-28BUILD: Use build number instead of patch versionRobert Adam
Using a four-segment version (major.minor.patch.build) is causing issues on Windows, because it tends to ignore the fourth version number in most cases. This can cause upgrades to fail and/or multiple entries being created in the installed applications list. For this reason, this commit changes the version format to be major.minor.build. Fixes #4921
2021-06-15FIX(client): Ambiguity in plugin installerRobert Adam
Previously the plugin installer attempted to select the correct plugin binary by its file extension but it turns out that this is not a unique choice (e.g. .so is supported on macOS and on Linux). Therefore this commit introduces a mandatory manifest file that is to be present in plugin bundles that contains the mapping for which binary to use on which OS and for which architecture. Because a plugin bundle now has to follow such a strict format, it is now also mandatory for the bundle to have the file extension .mumble_plugin (previously .zip was allowed as well).
2021-06-10BUILD(cmake): Increase OSX deployment targetRobert Adam
According to https://doc.qt.io/qt-5/macos.html#supported-versions Qt5 itself only supports macOS down to version 10.13. Given that our project is completely Qt-based, it does not make sense to target a lower version of macOS than that.
2021-06-04BUILD: Bump version number to 1.5.0Robert Adam
Now that the 1.4.x branch has been split off, the current master branch must now be considered to be for version 1.5.0.
2021-05-13BUILD(cmake): Bundle Qt translationsRobert Adam
In the old qmake build system we included the functionality to bundle Qt translations into our executable (potentially overwriting some of them). See https://github.com/mumble-voip/mumble/blob/f5bf5f17f3c207bb18ecd2dfc9ccdfa3136b6c7f/src/mumble/mumble.pro#L692-L728 This functionality was not ported over to cmake which could lead to Qt standard texts (e.g. "Ok") not being translated. This commit ports the old functionality to the new cmake build system. Note however that this new functionality is only enabled by default, if a static build of Mumble is created. In other instances the option can be specified manually. Fixes #4359
2021-05-11BUILD(cmake): Set policy CMP0118Robert Adam
2021-04-16FEAT(client): Plugin frameworkRobert Adam
This commit introduces a new plugin framework into the codebase of the Mumble client. Note that "plugin" here really refers to a (more or less) general purpose plugin and is therefore not to be confused with the previously available positional data plugins (only responsible for fetching positional data from a running game and passing that to Mumble). The plugin interface is written in C, removing the compiler-dependence the old "plugins" had. Instead plugins can now be written in an arbitrary language as long as that language is capable of being compiled into a shared library and also being capable of being C-compatible. As already indicated a plugin is essentially a shared library that provides certain functions that allow Mumble to interface with it. Inside Mumble the so-called PluginManager is responsible for managing the plugins and relaying events to the respective callbacks. Plugins themselves can also interact with Mumble on their own initiative by using the provided API functions. Fixes #2455 Fixes #2148 Fixes #1594 Fixes #2051 Fixes #3742 Fixes #4575 Fixes #4751
2021-04-09MAINT: Update copyright notice to 2021 (Part II)Robert
Apparently the first commit (59ae429972c16c377135bcccfee646b7df446933) did not include all files. Furthermore the used script tended to produce funny results in certain cases. This has been fixed and as a result thereof a few more changes were made in this second run.
2021-03-06BUILD(cmake): Increase unity build batch sizeRobert Adam
By increasing the batch size, the benefits of the unity build are expected to increase as well.
2021-03-06BUILD(cmake): Always define _USE_MATH_DEFINESRobert Adam
This is needed in order for the <cmath> header to also define constants like M_PI. Instead of manually defining the macro every time before including <cmath>, the macro is now defined via cmake and thus always defined.
2021-02-23FIX(client): Outdated copyright noticeRobert Adam
The copyright end year displayed in the About dialog was hardcoded to 2020. This commit replaces the hardcoded version with a dynamic version that uses the year the software was actually built as the end date. Fixes #4784
2021-02-17FIX(build): disable overlay on ARM macscfstras
Mach_override, used for dynamic code replacement in overlay, does not support arm (at all). Until we have a different implementation, we disable it on ARM macs.
2021-01-06BUILD(versioning): Make use of the 4th part (build/tweak) of the versionDavide Beatrici
The build number can be specified through the new "BUILD_NUMBER" variable. This change is very important on Windows, for two reasons: - It allows to easily identify binaries simply by looking at their version. More specifically, we can guess what build they're part of. - Right now snapshots can not be updated without uninstalling first, because the version is the same (i.e. 1.4.0). By increasing the 4th digit of the version for every build we can solve the issue. This commit also takes care of renaming a few variables so that they're consistent and also clearer. For example, "version" is now "RELEASE_ID".
2020-12-12REFAC(installer-msi) Simplify WiX component installNik Reist
Remove CPack and previous WiX installer projects and sources Add toolset and for WixSharp to facilitate client and server builds individually or collectively. Add multilanguage build with packaging=ON and translations=ON, and standard build with packaging=ON. Builds are also aware of client and server option settings. Add correct LICENSE to installer
2020-12-06BUILD: Fix Debug flags not setRobert Adam
We used EQUAL to compare the option's value to a String. This however does not work as according to the cmake documentation on EQUAL says "True if the given string or variable’s value is a valid number and equal to that on the right." As we are not comparing numbers but "real Strings", we have to use STREQUAL instead.
2020-10-24Merge pull request #4503: BUILD(cmake): Revamp install pathsRobert Adam
Installation paths can now be fine-tuned by setting the respective MUMBLE_INSTALLATION_* variables when invoking cmake. Additionally some components that only had install rules for a certain OS are now installed on all OSes as these components should be needed there as well.
2020-10-24BUILD(cmake): Revamp install pathsRobert
Installation paths can now be fine-tuned by setting the respective MUMBLE_INSTALLATION_* variables when invoking cmake. Additionally some components that only had install rules for a certain OS are now installed on all OSes as these components should be needed there as well.
2020-10-22BUILD(cmake): Remove obsolete option "dpkg-buildflags"Thomas Lange
This was a leftover from the previous QMake options but had no effect at all with CMake when enabled. Distributions should use -DCMAKE_BUILD_TYPE='None' to compile Mumble with the default compiler flags.
2020-10-15FIX(cmake): Revise if condition for Release build typeNik Reist
This satisfies the need to set the Release build type for generators that recognize it and simplifies the output for the build type in the cli.
2020-09-28BUILD(cmake): Enable -Werr by defaultRobert
2020-09-23BUILD(cmake): Suppress warning on following runsRobert
The way the deprecation check for BUILD_TESTING worked, it would issue a warning in any case from the second run onwards (as CTest will set this variable to the cache)
2020-09-17BUILD(cmake): Display Release build type properlyRobert
Previously an empty String would be printed as the build type as the Release-branch wasn't handled properly in the cmake file.
2020-09-12Merge pull request #4480: BUILD(cmake): Don't re-use BUILD_TESTINGRobert Adam
We used the BUILD_TESTING variable in order to indicate whether or not tests shall be built. However this variable is used by e.g. CTest already and there it had a different default value. Therefore we now deprecate BUILD_TESTING and use the tests option instead.
2020-09-11BUILD(cmake): Fix plugins install directoryRobert
Mumble usually ships with all its plugins in /usr/lib/mumble/* but the new make install target installs them directly into /usr/lib/*. This however can lead to certain files being overwritten. Therefore these paths are changed in order to install these libraries into /usr/lib/mumble/* again. Fixes #4477
2020-09-11BUILD(cmake): Don't re-use BUILD_TESTINGRobert
We used the BUILD_TESTING variable in order to indicate whether or not tests shall be built. However this variable is used by e.g. CTest already and there it had a different default value. Therefore we now deprecate BUILD_TESTING and use the tests option instead. This also fits better with our other options in terms of casing.
2020-09-02MAINT: Make use of cmake configure for versionRobert Adam
Instead of having to change the version number and the build year in all those files manually, we let cmake do the work by replacing the respective values in templates.
2020-09-02BUILD(cmake): Fix typoRobert Adam
2020-09-01BUILD(cmake): Print out build typeRobert Adam
In addition to Mumble's version and the target architecture, also print the used build type.
2020-09-01BUILD(cmake): Use GENERATOR_IS_MULTI_CONFIGRobert Adam
Instead of checking for the variable CMAKE_CONFIGURATION_TYPES, we now use the dedicated property GENERATOR_IS_MULTI_CONFIG in order to determine whether the used generator is a multi-config generator and therefore does not respect the CMAKE_BUILD_TYPE variable.
2020-09-01BUILD(cmake): Fix architecture outputRobert Adam
The previous output used x86 and 32bit as synonyms (as well as x64 and 64bit) which is incorrect.
2020-08-31BUILD(cmake): Added debug-dependency-search optionRobert Adam
If the user uses -Ddebug-dependency-search=OFF, then the find_pkg function will not perform its searches using the QUIET flag causing a lot of (valuable) information to be printed to the screen.
2020-08-31BUILD(cmake): Start cmake output with info headerRobert Adam
Instead of only printing the Mumble version that is being built, the architecture that cmake is currently configuring for is displayed as well. In order to make this information more visible, they are surrounded by a row of hashtags. This change should make it more obvious to users if they happen to build the wrong version/architecture (as can easily happen on Windows).
2020-08-09MAINT: Disable warnings for 3rdparty projectsRobert Adam
In order to not be spammed with warnings from 3rdparty projects that we make use of in Mumble, this commit modifies the respective cmake files in a way that disables warnings for the respective projects.
2020-07-12Remove "primarily intended for gamers" from project descriptionRobert Adam
2020-07-12Make version RegEx more robustRobert Adam
2020-07-12CMakeLists.txt: add "packaging" option, disabled by defaultNik Reist
2020-07-11Add main CMakeLists.txt filesDavide Beatrici