- Linux or FreeBSD
- Git
- CMake v3.18+
- GNU Make, autoconf, automake, libtool, ninja (optional)
- Nodejs v16+ and Yarn package manager v1.22+
- Clang C/C++ compiler v10+ or GCC v9+
- yasm assembler (yasm) needed by FFmpeg
- Python 3 pip package manager (python3-pip)
Example of prerequisite software installation on Debian/Ubuntu Linux:
apt-get install -y apt-utils software-properties-common \
apt-transport-https sudo curl wget gpg
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null \
| gpg --dearmor -i \
| tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
wget -qO- https://deb.nodesource.com/setup_lts.x | bash -
wget -qO- https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
apt-add-repository -y 'deb https://apt.kitware.com/ubuntu/ focal main'
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
apt-get update
apt-get install -y autoconf automake pkgconf \
binutils build-essential ca-certificates cmake \
g++ gcc git libtool make ninja-build nodejs python-is-python3 yarn \
yasm python3-pip
git clone --recurse-submodules https://github.com/brocha-app/brocha-server.git
mkdir -p ./brocha-server/build && cd ./brocha-server/build
cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DIW_EXEC=ON
ninja
Brocha build artifacts are located here:
./build/src/brocha # Stripped binary
./build/src/brocha_g # Binary with debug symbols (Not stripped)