-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·80 lines (74 loc) · 2.58 KB
/
Copy pathinstall.sh
File metadata and controls
executable file
·80 lines (74 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
# install.sh
#
# Fail fast so a failed dependency install does not leave a half-configured
# environment that looks successful.
set -euo pipefail
echo "Installing GoudEngine dependencies..."
# Detect OS and install system dependencies
if [[ "$OSTYPE" == "linux-gnu"* ]] || grep -q Microsoft /proc/version 2>/dev/null; then
echo "Detected Linux/WSL. Installing system dependencies..."
if command -v apt-get &> /dev/null; then
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
pkg-config \
libasound2-dev \
libxrandr-dev \
libxinerama-dev \
libxcursor-dev \
libxi-dev \
libgl1-mesa-dev
# Install .NET SDK if not present
if ! command -v dotnet &> /dev/null; then
echo "Installing .NET SDK..."
# Install Microsoft package repository
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0
fi
elif command -v dnf &> /dev/null; then
sudo dnf install -y \
gcc \
gcc-c++ \
cmake \
pkgconfig \
alsa-lib-devel \
libXrandr-devel \
libXinerama-devel \
libXcursor-devel \
libXi-devel \
mesa-libGL-devel
elif command -v pacman &> /dev/null; then
sudo pacman -S --needed \
base-devel \
cmake \
pkgconf \
alsa-lib \
libxrandr \
libxinerama \
libxcursor \
libxi \
mesa
else
echo "Warning: Unknown package manager. Please install ALSA, X11, and OpenGL development libraries manually."
fi
elif [[ "$OSTYPE" == "darwin"* ]]; then
echo "Detected macOS. System dependencies should be available via Xcode Command Line Tools."
if ! xcode-select -p &> /dev/null; then
echo "Installing Xcode Command Line Tools..."
xcode-select --install
fi
fi
# Install Rust components if not installed
if ! command -v cargo &> /dev/null; then
echo "Rust is not installed. Installing Rust..."
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
fi
# Install cbindgen for generating bindings
cargo install cbindgen
echo "Installation complete."