#!/bin/sh set -e # This Script Assumes An x86_64 Host if [ "$(uname -m)" != "x86_64" ]; then echo 'Invalid Build Architecture' exit 1 fi # Build For x86_64 native_build() { # Create Build Dir rm -rf build/$1-x86_64 mkdir -p build/$1-x86_64 cd build/$1-x86_64 # Create Prefix local prefix="$(cd ../../; pwd)/out/$1-x86_64" rm -rf "${prefix}" mkdir -p "${prefix}" # Prepare local extra_arg='-DMCPI_USE_MEDIA_LAYER_PROXY=ON' if [ "$1" = "server" ]; then extra_arg='-DMCPI_SERVER_MODE=ON' fi # Build ARM Components mkdir arm cd arm cmake -DMCPI_BUILD_MODE=arm "${extra_arg}" ../../.. make -j$(nproc) make install DESTDIR="${prefix}" cd ../ # Build Native Components mkdir native cd native cmake -DMCPI_BUILD_MODE=native "${extra_arg}" ../../.. make -j$(nproc) make install DESTDIR="${prefix}" cd ../ # Exit cd ../../ } # Build For ARM64 arm64_build() { # Create Build Dir rm -rf build/$1-arm64 mkdir -p build/$1-arm64 cd build/$1-arm64 # Create Prefix local prefix="$(cd ../../; pwd)/out/$1-arm64" rm -rf "${prefix}" mkdir -p "${prefix}" # Prepare local extra_arg='-DMCPI_USE_MEDIA_LAYER_PROXY=ON' if [ "$1" = "server" ]; then extra_arg='-DMCPI_SERVER_MODE=ON' fi # Build ARM Components mkdir arm cd arm cmake -DMCPI_BUILD_MODE=arm "${extra_arg}" ../../.. make -j$(nproc) make install DESTDIR="${prefix}" cd ../ # Build Native Components mkdir native cd native cmake -DCMAKE_TOOLCHAIN_FILE="$(cd ../../../; pwd)/cmake/arm64-toolchain.cmake" -DMCPI_BUILD_MODE=native "${extra_arg}" ../../.. make -j$(nproc) make install DESTDIR="${prefix}" cd ../ # Exit cd ../../ } # Build For ARM arm_build() { # Create Build Dir rm -rf build/$1-arm mkdir -p build/$1-arm cd build/$1-arm # Create Prefix local prefix="$(cd ../../; pwd)/out/$1-arm" rm -rf "${prefix}" mkdir -p "${prefix}" # Prepare local server_mode='OFF' if [ "$1" = "server" ]; then server_mode='ON' fi # Build All Components cmake -DMCPI_BUILD_MODE=both -DMCPI_SERVER_MODE="${server_mode}" ../.. make -j$(nproc) make install DESTDIR="${prefix}" # Exit cd ../../ } # Clean Prefix rm -rf out # Build native_build client native_build server if [ ! -z "${ARM_PACKAGES_SUPPORTED}" ]; then # Requires ARM Versions Of GLFW And FreeImage arm64_build client fi arm64_build server if [ ! -z "${ARM_PACKAGES_SUPPORTED}" ]; then # Requires ARM Versions Of GLFW And FreeImage arm_build client fi arm_build server