Files
UltraGrid/.github/scripts/Linux/install_glfw.sh
2025-08-28 09:20:28 +02:00

39 lines
891 B
Bash
Executable File

#!/bin/sh -eu
dir=$(dirname "$0")
# shellcheck source=/dev/null
. "$dir/common.sh" # for get_build_deps_excl
# build dir that will be restored from cache
cache_dir=/var/tmp/glfw
# install the deps - runs always (regardless the cache)
deps() {
sudo apt build-dep libglfw3
}
# build SDL, SDL_ttf and fluidsynth and also install them
build_install() {
mkdir -p $cache_dir
cd $cache_dir
git clone --depth 1 https://github.com/glfw/glfw.git
cmake -S glfw -B glfw/build \
-DGLFW_BUILD_WAYLAND=ON -DGLFW_BUILD_X11=ON
cmake --build glfw/build -j "$(nproc)"
sudo cmake --install glfw/build
}
# if cache is successfully restored, just install the builds
install_cached() {
cd $cache_dir
sudo cmake --install glfw/build
}
deps
if [ -d $cache_dir ]; then
install_cached
else
build_install
fi