#!/bin/bash set -e -x DIR=$(cd "$(dirname "$0")"; pwd -P) TOOLCHAIN_IMAGE="esp32-toolchain:latest" BUILD_DIR="$DIR/cmake-build" DOCKERFILE="$DIR/Dockerfile" build_docker_container() { docker build -f "$DOCKERFILE" -t "$TOOLCHAIN_IMAGE" "$DIR" } build_docker() { build_docker_container docker run \ --volume="$DIR:/esp/uas-ugv" \ --interactive --tty --rm \ "$TOOLCHAIN_IMAGE" \ /esp/uas-ugv/build.sh cmake "$@" } build_cmake() { mkdir -p "$BUILD_DIR" cd "$BUILD_DIR" cmake -G Ninja "$DIR" cmake --build "$BUILD_DIR" -- "$@" } build_clean() { rm -rf "$BUILD_DIR" } CMD="$1"; shift case $CMD in docker_container) build_docker_container ;; docker) build_docker "$@" ;; cmake) build_cmake "$@" ;; clean) build_clean ;; *) echo "Usage: $0 " ;; esac