#!/bin/bash
# Suggested setup to use the script:
#  (on the root of the project)
#  $ NOCONFIGURE=1 ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo
#  $ mkdir build && cd build && ../configure && make -j5 && cd ..
#  $ src/dev-run.sh [FONT-FILE] [TEXT]
#
# Or, using cmake:
#  $ cmake -DHB_CHECK=ON -Bbuild -H. -GNinja && ninja -Cbuild
#  $ src/dev-run.sh [FONT-FILE] [TEXT]
#

[ $# = 0 ] && echo Usage: "src/dev-run.sh [FONT-FILE] [TEXT]" && exit
command -v entr >/dev/null 2>&1 || { echo >&2 "This script needs `entr` be installed"; exit 1; }

GDB=gdb
# if gdb doesn't exist, hopefully lldb exist
command -v $GDB >/dev/null 2>&1 || export GDB="lldb"

[ -f 'build/build.ninja' ] && CMAKENINJA=TRUE
# or "fswatch -0 . -e build/ -e .git"
find src/ | entr printf '\0' | while read -d ""; do
	clear
	echo '===================================================='
	if [[ $CMAKENINJA ]]; then
		ninja -Cbuild hb-shape hb-view && {
			build/hb-shape $@
			build/hb-view $@
		}
	else
		make -Cbuild/src -j5 -s lib && {
			build/util/hb-shape $@
			build/util/hb-view $@
		}
	fi
done

read -n 1 -p "[T]est, [D]ebug, [R]estart, [Q]uit?" answer
case "$answer" in
t|T )
	if [[ $CMAKENINJA ]]; then
		CTEST_OUTPUT_ON_FAILURE=1 CTEST_PARALLEL_LEVEL=5 ninja -Cbuild test
	else
		make -Cbuild -j5 check && .ci/fail.sh
	fi
;;
d|D )
	if [[ $CMAKENINJA ]]; then
		echo "Not supported on cmake builds yet"
	else
		build/libtool --mode=execute $GDB build/util/hb-shape $@
	fi
;;
r|R )
	src/dev-run.sh $@
;;
* )
	exit
;;
esac
