parent
25136d9b72
commit
975c35214f
1 changed files with 31 additions and 15 deletions
@ -1,22 +1,38 @@ |
||||
#!/bin/bash |
||||
|
||||
for cmd in cmake ninja entr; do |
||||
command -v $cmd >/dev/null 2>&1 || { echo >&2 "This script needs $cmd be installed"; exit 1; } |
||||
done |
||||
# 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; } |
||||
|
||||
cmake -DHB_CHECK=ON -DHB_DISABLE_TEST_PROGS=ON -Bbuild -H. -GNinja |
||||
ninja -Cbuild |
||||
|
||||
[ -f 'build/build.ninja' ] && CMAKENINJA=TRUE |
||||
# or "fswatch -0 . -e build/ -e .git" |
||||
find src/ | entr printf '\0' | while read -d "" event; do |
||||
clear |
||||
ninja -Cbuild |
||||
build/hb-shape $@ |
||||
build/hb-view $@ |
||||
find src/ | entr printf '\0' | while read -d ""; do |
||||
clear |
||||
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 |
||||
|
||||
cmake -DHB_CHECK=ON -DHB_DISABLE_TEST_PROGS=OFF -Bbuild -H. -GNinja |
||||
ninja -Cbuild |
||||
CTEST_OUTPUT_ON_FAILURE=1 CTEST_PARALLEL_LEVEL=8 ninja -Cbuild test |
||||
read -n 1 -p "Run the tests (y/n)? " answer |
||||
if [[ "$answer" = "y" ]]; then |
||||
if [[ $CMAKENINJA ]]; then |
||||
CTEST_OUTPUT_ON_FAILURE=1 CTEST_PARALLEL_LEVEL=5 ninja -Cbuild test |
||||
else |
||||
make -j5 check && .ci/fail.sh |
||||
fi |
||||
fi |
||||
|
Loading…
Reference in new issue