#!/usr/bin/env bash
set -e
DIR = " $( cd " $( dirname " ${ BASH_SOURCE [0] } " ) " >/dev/null && pwd ) "
ARCHNAME = "x86_64"
BLAS_TARGET = "X64_AUTOMATIC"
if [ -f /TICI ] ; then
ARCHNAME = "larch64"
BLAS_TARGET = "ARMV8A_ARM_CORTEX_A57"
fi
ACADOS_FLAGS = " -DACADOS_WITH_QPOASES=ON -UBLASFEO_TARGET -DBLASFEO_TARGET= $BLAS_TARGET "
if [ [ " $OSTYPE " = = "darwin" * ] ] ; then
ACADOS_FLAGS = " $ACADOS_FLAGS -DCMAKE_OSX_ARCHITECTURES=arm64;x86_64 -DCMAKE_MACOSX_RPATH=1 "
ARCHNAME = "Darwin"
fi
if [ ! -d acados_repo/ ] ; then
git clone https://github.com/acados/acados.git $DIR /acados_repo
# git clone https://github.com/commaai/acados.git $DIR/acados_repo
fi
cd acados_repo
git fetch --all
git checkout 8af9b0ad180940ef611884574a0b27a43504311d # v0.2.2
git submodule update --depth= 1 --recursive --init
# build
mkdir -p build
cd build
cmake $ACADOS_FLAGS ..
make -j20 install
INSTALL_DIR = " $DIR / $ARCHNAME "
rm -rf $INSTALL_DIR
mkdir -p $INSTALL_DIR
rm $DIR /acados_repo/lib/*.json
rm -rf $DIR /include $DIR /acados_template
cp -r $DIR /acados_repo/include $DIR
cp -r $DIR /acados_repo/lib $INSTALL_DIR
cp -r $DIR /acados_repo/interfaces/acados_template/acados_template $DIR /
#pip3 install -e $DIR/acados/interfaces/acados_template
# build tera
cd $DIR /acados_repo/interfaces/acados_template/tera_renderer/
if [ [ " $OSTYPE " = = "darwin" * ] ] ; then
cargo build --verbose --release --target aarch64-apple-darwin
cargo build --verbose --release --target x86_64-apple-darwin
lipo -create -output target/release/t_renderer target/x86_64-apple-darwin/release/t_renderer target/aarch64-apple-darwin/release/t_renderer
else
cargo build --verbose --release
fi
cp target/release/t_renderer $INSTALL_DIR /