#!/usr/bin/env bash set -e clean() { echo "cleaning build dir" rm -rf build } incremental_build() { mkdir -p ../build cd build cmake .. make -j"$(nproc)" } clean_build() { clean mkdir build cd build cmake .. make -j"$(nproc)" } release_build() { if [ -d "build" ]; then rm -rf "build" fi mkdir "build" cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -j"$(nproc)" } run_executable() { ./build/SubWave } case "${1:-build}" in clean|c) clean ;; build|incremental|ib) incremental_build ;; cleanbuild|cb) clean_build ;; run|exec|r) run_executable ;; release|rb) release_build ;; *) echo "Usage: $0 {build|clean|cleanbuild|cb}" exit 1 ;; esac