#!/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 echo "doing a clean build" cmake .. make -j"$(nproc)" } release_build() { if [ -d "build" ]; then rm -rf "build" echo "removing build directory" fi mkdir "build" cd build echo "starting cmake and make processes" cmake -DCMAKE_BUILD_TYPE=Release .. make -j"$(nproc)" } run_executable() { ./build/SubWave } clean_appimage() { if [ -e "SubWave-x86_64.AppImage" ]; then rm -rf SubWave-x86_64.AppImage echo "Removed AppImage" fi echo "No AppImage found, aborting" } 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 ;; cai|clean_appimage|cleanimg) clean_appimage ;; cbr|clean_build_run) clean_build && run_executable ;; *) echo "Usage: $0 {build|clean|cleanbuild|cb}" exit 1 ;; esac