build.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/env bash
  2. set -e
  3. DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
  4. ARCHNAME="x86_64"
  5. BLAS_TARGET="X64_AUTOMATIC"
  6. if [ -f /TICI ]; then
  7. ARCHNAME="larch64"
  8. BLAS_TARGET="ARMV8A_ARM_CORTEX_A57"
  9. fi
  10. ACADOS_FLAGS="-DACADOS_WITH_QPOASES=ON -UBLASFEO_TARGET -DBLASFEO_TARGET=$BLAS_TARGET"
  11. if [[ "$OSTYPE" == "darwin"* ]]; then
  12. ACADOS_FLAGS="$ACADOS_FLAGS -DCMAKE_OSX_ARCHITECTURES=arm64;x86_64 -DCMAKE_MACOSX_RPATH=1"
  13. ARCHNAME="Darwin"
  14. fi
  15. if [ ! -d acados_repo/ ]; then
  16. git clone https://github.com/acados/acados.git $DIR/acados_repo
  17. # git clone https://github.com/commaai/acados.git $DIR/acados_repo
  18. fi
  19. cd acados_repo
  20. git fetch --all
  21. git checkout 8af9b0ad180940ef611884574a0b27a43504311d # v0.2.2
  22. git submodule update --depth=1 --recursive --init
  23. # build
  24. mkdir -p build
  25. cd build
  26. cmake $ACADOS_FLAGS ..
  27. make -j20 install
  28. INSTALL_DIR="$DIR/$ARCHNAME"
  29. rm -rf $INSTALL_DIR
  30. mkdir -p $INSTALL_DIR
  31. rm $DIR/acados_repo/lib/*.json
  32. rm -rf $DIR/include $DIR/acados_template
  33. cp -r $DIR/acados_repo/include $DIR
  34. cp -r $DIR/acados_repo/lib $INSTALL_DIR
  35. cp -r $DIR/acados_repo/interfaces/acados_template/acados_template $DIR/
  36. #pip3 install -e $DIR/acados/interfaces/acados_template
  37. # build tera
  38. cd $DIR/acados_repo/interfaces/acados_template/tera_renderer/
  39. if [[ "$OSTYPE" == "darwin"* ]]; then
  40. cargo build --verbose --release --target aarch64-apple-darwin
  41. cargo build --verbose --release --target x86_64-apple-darwin
  42. lipo -create -output target/release/t_renderer target/x86_64-apple-darwin/release/t_renderer target/aarch64-apple-darwin/release/t_renderer
  43. else
  44. cargo build --verbose --release
  45. fi
  46. cp target/release/t_renderer $INSTALL_DIR/