|
|
|
|
@ -1,6 +1,14 @@
|
|
|
|
|
#!/bin/bash |
|
|
|
|
set -eo pipefail |
|
|
|
|
|
|
|
|
|
ASAN=0 |
|
|
|
|
for arg; do |
|
|
|
|
case "$arg" in |
|
|
|
|
--asan) ASAN=1 ;; |
|
|
|
|
-j*) JOBS="${arg#-j}" ;; |
|
|
|
|
esac |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
# --- dependencies --- |
|
|
|
|
PKGS="cmake librlottie-dev zlib1g-dev qtbase5-dev libssl-dev" |
|
|
|
|
MISSING="" |
|
|
|
|
@ -25,8 +33,21 @@ echo "Build: $BUILDDIR"
|
|
|
|
|
echo "Jobs: $JOBS" |
|
|
|
|
echo "" |
|
|
|
|
|
|
|
|
|
[ -f "$BUILDDIR/Makefile" ] || cmake -S "$SRCDIR" -B "$BUILDDIR" |
|
|
|
|
SAN_FLAGS="-fsanitize=address -fno-omit-frame-pointer -g" |
|
|
|
|
if [ "$ASAN" -eq 1 ]; then |
|
|
|
|
echo "*** ASAN ENABLED ***" |
|
|
|
|
CMAKE_ARGS=(-DCMAKE_C_FLAGS="$SAN_FLAGS" -DCMAKE_CXX_FLAGS="$SAN_FLAGS" -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address) |
|
|
|
|
rm -f "$BUILDDIR/CMakeCache.txt" "$BUILDDIR/Makefile" |
|
|
|
|
else |
|
|
|
|
CMAKE_ARGS=() |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
[ -f "$BUILDDIR/Makefile" ] || cmake -S "$SRCDIR" -B "$BUILDDIR" "${CMAKE_ARGS[@]}" |
|
|
|
|
cmake --build "$BUILDDIR" -j"$JOBS" |
|
|
|
|
|
|
|
|
|
echo "" |
|
|
|
|
echo "OK. Run: $BUILDDIR/chatgui" |
|
|
|
|
if [ "$ASAN" -eq 1 ]; then |
|
|
|
|
echo "OK. Run: ASAN_OPTIONS=detect_leaks=1:halt_on_error=0 $BUILDDIR/chatgui" |
|
|
|
|
else |
|
|
|
|
echo "OK. Run: $BUILDDIR/chatgui" |
|
|
|
|
fi |
|
|
|
|
|