Age | Commit message (Collapse) | Author |
|
If the *_plugin_import.cpp files already exist before the latest cmake
changes for unity builds are pulled, the necessary property does not get
set on these files, which can cause build failure.
|
|
The *_plugin_import files will cause collisions in a unity build, so we
have to make sure that they are built separately as usual.
Furthermore the ObjecticeC files don't play well in unity builds (it
seems like they are then treated as cpp files). Thus they are excluded
from that as well.
WinGUID.cpp must also not be included as that breaks the DEFINE_GUID
macro wizardry needed to avoid redefinition errors.
|
|
Using a unity build tends to create large source files. With that it is
easily possible to hit the object file's size limit resulting in the
"C1128: number of sections exceeded object file format limit" (MSVC) or
"File too big" (GCC) error.
In order to avoid this, this commit sets the necessary flag to extend
that limit.
|
|
This PR updates the copyright notices of all files. For doing so
it introduces a script that can do this automatically.
Furthermore a few files that are no longer needed got removed.
|
|
This was done by running scripts/updateLicenseHeaders.py and then
manually editing the LICENSE file.
|
|
If a package is searched for with multiple casings (as is currently the
case for libsndfile), it will be very hard to use the resulting cmake variables
(e.g. <name>_FOUND, <name>_LIBRARIES) as one does not know which casing was
eventually found.
This issue actually broke the build on macOS when installing libsndfile
via homebrew.
This change sets the all-lowercase version of the package
name variables (if multiple cases of the spelling are contained in the
package's aliases) so that this can then be used further down to reference
the result, without needing to iterate through all the options again to
determine which case was found.
Fixes #4790
|
|
|
|
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
|
|
Libraries should only be installed if they are built as shared
libraries. Static libraries should only be needed during Mumble's
compilation and are therefore no required dependencies that have to be
installed alongside Mumble.
|
|
We need to use relative install paths if we intend to invoke CPack (it
errors on absolute paths) but for everything else we should prefer
absolute paths. This is needed as the dynamic libraries that are being
loaded by Mumble have to be loaded by an absolute file path (and the
macro containing that path is set to the install path's value).
|
|
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.
|
|
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.
|
|
We are using a custom FindGRPC.cmake script in order to locate the gRPC
targets as not all distribution variants of gRPC include the respective
cmake support. Those that do however will use "gRPC" (note the lowercase
"g") as the target's name and therefore our current way of searching for
it via find_pkg won't find them.
The solution is to first look for "gRPC" and only if that fails, check
for "GRPC". This way the official target "gRPC" should be found and
preferred if present.
Fixes #4508
Co-Authored-By: Thomas Lange <thomas-lange2@gmx.de>
|
|
This usage of a generator expression has been overlooked in #4533.
|
|
The changed files used a generator expression in an if-statement, which
is invalid as these generator expressions are not evaluated during the
initial configuration stage (at which point the if-statement is
evaluated).
This commit changes the use of the generator-expression in such a way
that it will actually do what it was meant to.
Note that this commit also enables position independent code for all
platforms and all build-types instead of only for debug builds on unix
systems. This was the preferred choice instead of porting the -fPIE
compiler option to use proper generator expressions as the presence of
these options caused linking errors with Celt/Opus.
|
|
|
|
|
|
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.
|
|
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.
|
|
This commit fixes two issues:
1. The installer ignoring Mumble < 1.4.0 installations. This resulted in two separate entries in the installed programs list and a cluttered installation folder.
2. The installer thinking that the product is already installed even if it's a different build.
The first problem was caused by CMAKE_WIX_UPGRADE_GUID being explicitely set to a wrong value, due to an extra line in the file.
The second problem was caused by CMAKE_WIX_PRODUCT_GUID being explicitely set to a static value due to us misunderstanding the "ProjectGuid" variable in the WiX project we used until 1.4.0.
We thought it referred to the MSI product GUID, but instead it's just the MSBuild project identifier.
Also, CMake's WiX documentation clearly says that the installer will abort if it detects a pre-existing installation that uses the same GUID: https://cmake.org/cmake/help/latest/cpack_gen/wix.html#variable:CPACK_WIX_PRODUCT_GUID
|
|
Without this change it could happen that get_targets returned
non-compilable targets (e.g. install or uninstall targets) and this
could lead to errors when e.g. trying to set compile options on those
targets.
|
|
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.
|
|
|
|
|
|
|