#!/bin/bash BUILDTYPE=Release ARCH=$(uname -m) ARM64=OFF CMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake if [ "$1" = "--debug" ]; then BUILDTYPE=Debug shift fi if [ "$1" = "--aarch64" ]; then ARM64=ON CMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/aarch64-linux-gnu.cmake shift fi BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`; if [ $ARCH = "armv6l" ] || [ $ARCH = "armv7l" ] || [ $ARCH = "aarch64" ]; then # Native compile on the Raspberry Pi mkdir -p build/raspberry/$BUILDSUBDIR pushd build/raspberry/$BUILDSUBDIR cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../.. if [ $ARCH = "armv6l" ]; then make else make -j4 fi if [ "$1" != "" ]; then sudo make install DESTDIR=$1 else sudo make install fi elif [ "$1" = "--native" ]; then # Build natively on the host mkdir -p build/native/$BUILDSUBDIR pushd build/native/$BUILDSUBDIR cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../.. shift make -j `nproc` $* else # Cross compile on a more capable machine mkdir -p build/arm-linux/$BUILDSUBDIR pushd build/arm-linux/$BUILDSUBDIR cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../.. make -j `nproc` if [ "$1" != "" ]; then sudo make install DESTDIR=$1 fi fi popd