#!/usr/bin/env bash set -euo pipefail echo "Building for target: clockwork pi GameSH" declare -r DIR="$(dirname "${BASH_SOURCE[0]}")" cd "$DIR" declare -r ABSDIR="$(pwd)" usage() { echo "${BASH_SOURCE[0]} [--target /path/to/devliution/in/gameshell/menu] [--usage]" exit 1 } POSITIONAL=() while [[ $# -gt 0 ]] do key="$1" case $key in -t|--target) TARGET="$2" shift # past argument shift # past value ;; --help|-h|--usage|-u) usage shift # past argument ;; *) # unknown option POSITIONAL+=("$1") # save it in an array for later shift # past argument ;; esac done set -- "${POSITIONAL[@]}" # restore positional parameters install_deps() { sudo apt install -y cmake libsdl2-dev libbz2-dev libsodium-dev } main() { install_deps build install } build() { cd ../.. rm -f CMakeCache.txt cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DTARGET_PLATFORM=cpigamesh -DDISABLE_LTO=ON cmake --build build -j $(getconf _NPROCESSORS_ONLN) cd - } install() { git rev-parse HEAD > /home/cpi/games/devilutionX/build/devilutionx.rev if [ -z ${TARGET+x} ]; then local target_dir="25_devilutionX" else local target_dir=${TARGET#"/home/cpi/apps/Menu/"} fi local script_dir="/home/cpi/apps/Menu/$target_dir" local target_dir_base=`basename "$target_dir"` local target_dir_dir=`dirname "$target_dir"` local icon_name="${target_dir_dir}/${target_dir_base#*_}" local icon_dir="/home/cpi/launcher/skin/default/Menu/GameShell/${icon_name}.png" echo $target_dir echo $script_dir echo $target_dir_base echo $target_dir_dir echo $icon_name echo $icon_dir mkdir -p $script_dir cp __init__.py $script_dir cp Devilution.png $icon_dir } main