Files
location_plotter/run.sh
T
onur 2856c5a560
Ubuntu build / build-and-test (ubuntu-22.04) (push) Has been cancelled
Ubuntu build / build-and-test (ubuntu-24.04) (push) Has been cancelled
Initial commit: add Location Plotter
2026-07-16 13:16:12 +03:00

51 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
print_qt_install_hint() {
echo
echo "Qt6 bulunamadi. Ubuntu'da gerekli paketleri kurmak icin:"
echo " sudo apt update"
echo " sudo apt install build-essential cmake qt6-base-dev"
}
project_dir="$(pwd -P)"
if [[ -f ./build/CMakeCache.txt ]]; then
cached_source="$(sed -n 's/^CMAKE_HOME_DIRECTORY:INTERNAL=//p' ./build/CMakeCache.txt)"
if [[ -n "$cached_source" && "$cached_source" != "$project_dir" ]]; then
echo "Build klasoru farkli bir proje yoluna ait, yeniden olusturuluyor:"
echo " $cached_source"
rm -rf ./build
fi
fi
if ! cmake -S . -B build; then
print_qt_install_hint
exit 1
fi
cmake --build build
missing_libs="$(ldd ./build/location_plotter 2>/dev/null | awk '/not found/ { print $1 }' || true)"
if [[ -n "$missing_libs" ]]; then
echo "Eksik paylasimli kutuphaneler:"
echo "$missing_libs" | sed 's/^/ /'
print_qt_install_hint
exit 1
fi
if id -nG | tr ' ' '\n' | grep -qx dialout; then
exec ./build/location_plotter "$@"
fi
if getent group dialout | tr ':' '\n' | tail -n 1 | tr ',' '\n' | grep -qx "$(id -un)"; then
exec sg dialout -c "$(printf '%q ' ./build/location_plotter "$@")"
fi
echo "Bu kullanici dialout grubunda degil. Eklemek icin:"
echo " sudo usermod -a -G dialout $(id -un)"
echo "Sonra oturumu kapatip ac veya bu scripti tekrar calistir."
exit 1