overdue commit lots of changes
[buildscripts] / mumble
1 #!/bin/bash
2 # I, Ian Kelling, follow the GNU license recommendations at
3 # https://www.gnu.org/licenses/license-recommendations.en.html. They
4 # recommend that small programs, < 300 lines, be licensed under the
5 # Apache License 2.0. This file contains or is part of one or more small
6 # programs. If a small program grows beyond 300 lines, I plan to switch
7 # its license to GPL.
8
9 # Copyright 2024 Ian Kelling
10
11 # Licensed under the Apache License, Version 2.0 (the "License");
12 # you may not use this file except in compliance with the License.
13 # You may obtain a copy of the License at
14
15 # http://www.apache.org/licenses/LICENSE-2.0
16
17 # Unless required by applicable law or agreed to in writing, software
18 # distributed under the License is distributed on an "AS IS" BASIS,
19 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 # See the License for the specific language governing permissions and
21 # limitations under the License.
22
23
24 if ! test "$BASH_VERSION"; then echo "error: shell is not bash" >&2; exit 1; fi
25 shopt -s inherit_errexit 2>/dev/null ||: # ignore fail in bash < 4.4
26 set -eE -o pipefail
27 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" exit status: $?, PIPESTATUS: ${PIPESTATUS[*]}" >&2' ERR
28
29 if [[ -s ~/.bashrc ]];then . ~/.bashrc;fi
30
31 deps=(
32 build-essential
33 cmake
34 pkg-config
35 qt5-default
36 qttools5-dev
37 qttools5-dev-tools
38 libqt5svg5-dev
39 libboost-dev
40 libssl-dev
41 libprotobuf-dev
42 protobuf-compiler
43 libprotoc-dev
44 libcap-dev
45 libxi-dev
46 libasound2-dev
47 libogg-dev
48 libsndfile1-dev
49 libspeechd-dev
50 libavahi-compat-libdnssd-dev
51 libxcb-xinerama0
52 libzeroc-ice-dev
53 libpoco-dev
54 )
55 pi ${deps[@]}
56
57 mkc /a/opt/mumble/build
58
59 # just looked through cmake_options.md and picked things that looked good. oss, alsa, portaudio, pipewire are off just to avoid superflous options we dont use.
60 cmake -Dcoreaudio=OFF -Dzeroconf=OFF -Doss=OFF -Dportaudio=OFF -Dalsa=OFF -Dpipewire=OFF -Dserver=OFF -Doverlay-xcompile=OFF -Doverlay=OFF -Dupdate=OFF -Dwasapi=OFF -Dxboxinput=OFF -Dlto=ON -Doptimize=ON ..
61
62 make -j $(nproc)