Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 1.58 KB

BUILDING.md

File metadata and controls

56 lines (41 loc) · 1.58 KB

Building from sources by hands

Build Prerequisites

  • 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

Building

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)