Mumble supports being compiled as a unity build, if you are using cmake 3.16 or newer. To use this
feature, use -DCMAKE_UNITY_BUILD=ON
option when invoking cmake.
Don't use this option when also using -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
though as the unity build will render the produced compilation database
useless.
In order to set the build type (Debug vs Release), you have to use the CMAKE_BUILD_TYPE
variable when invoking cmake like so: cmake -DCMAKE_BUILD_TYPE=Release
. The supported types currently are: "Debug" and "Release".
Note that this only works for single-config generators. If you are using a multi-config generator (e.g. visual studio projects), the steps
mentioned above won't have any effect. Instead, you'll have to choose the config type when invoking the build itself. This works by using e.g. cmake --build . --config Release
.
If the automatic search process of cmake doesn't result in the proper version of OpenSSL being selected (e.g. an older/incompatible system version
could be chosen over the manually installed one), you always have the option of explicitly telling cmake where to look for OpenSSL via the
OPENSSL_ROOT_DIR
option.
If for instance you have installed OpenSSL to /usr/local/opt/openssl
, you can invoke cmake like this:
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl ..
Use tags to build a specific release version of Mumble.
You can find the tag
-list here or by using the command git tag
inside a cloned repository.
Use:
git clone -b [tag] https://github.com/mumble-voip/mumble.git
For example (for version 1.3.3):
git clone -b 1.3.3 https://github.com/mumble-voip/mumble.git
or inside an already cloned repository:
git checkout [tag]
or (if you want to create a new branch):
git checkout -b [new-branch-name] [tag]
Use commit hashes to build a specific development state of Mumble.
You can find the list of commits here (for master branch) or by using the command git log
inside a cloned repository.
Go into the cloned repository and use:
git checkout [commit_sha]
or (if you want to create a new branch):
git checkout -b [new-branch-name] [commit_sha]