53 lines
1.4 KiB
Bash
Executable File
53 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
if [[ ! -r /etc/os-release ]]; then
|
|
echo "Ubuntu surumu tespit edilemedi." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# shellcheck disable=SC1091
|
|
source /etc/os-release
|
|
if [[ "${ID:-}" != "ubuntu" ]]; then
|
|
echo "Bu kurulum betigi Ubuntu icindir (tespit edilen: ${PRETTY_NAME:-bilinmiyor})." >&2
|
|
exit 1
|
|
fi
|
|
|
|
current_user="${SUDO_USER:-${USER:-$(id -un)}}"
|
|
|
|
if ! dpkg --compare-versions "${VERSION_ID:-0}" ge 22.04; then
|
|
echo "Ubuntu 22.04 veya daha yeni bir surum gerekiyor (tespit edilen: ${VERSION_ID:-bilinmiyor})." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v sudo >/dev/null 2>&1; then
|
|
echo "Paketleri kurmak icin sudo komutu gerekiyor." >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "Gerekli Ubuntu paketleri kuruluyor..."
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
build-essential \
|
|
cmake \
|
|
qt6-base-dev \
|
|
zlib1g-dev
|
|
|
|
if getent group dialout >/dev/null && ! id -nG "$current_user" | tr ' ' '\n' | grep -qx dialout; then
|
|
echo "Seri port erisimi icin $current_user kullanicisi dialout grubuna ekleniyor..."
|
|
sudo usermod -a -G dialout "$current_user"
|
|
fi
|
|
|
|
echo "Uygulama derleniyor..."
|
|
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build --parallel "$(nproc)"
|
|
|
|
echo "Testler calistiriliyor..."
|
|
ctest --test-dir build --output-on-failure
|
|
|
|
echo
|
|
echo "Kurulum tamamlandi. Uygulamayi baslatmak icin:"
|
|
echo " ./run.sh"
|