Initial commit: add Location Plotter
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user