Merge pull request #89 from bdach/shoutouts-to-gnome

Enable dynamic support for `libdecor` inside SDL3
This commit is contained in:
Dan Balasescu 2024-06-28 13:32:07 +09:00 committed by GitHub
commit 8d4f817aaa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 20 additions and 0 deletions

View File

@ -32,10 +32,12 @@ if [[ $RUNNER_OS == 'Linux' ]]; then
$SUDO apt-get install -y \
$GCC \
$GPP \
git \
cmake \
ninja-build \
wayland-scanner++ \
wayland-protocols \
meson \
pkg-config$TARGET_APT_ARCH \
libasound2-dev$TARGET_APT_ARCH \
libdbus-1-dev$TARGET_APT_ARCH \
@ -43,7 +45,9 @@ if [[ $RUNNER_OS == 'Linux' ]]; then
libgl1-mesa-dev$TARGET_APT_ARCH \
libgles2-mesa-dev$TARGET_APT_ARCH \
libglu1-mesa-dev$TARGET_APT_ARCH \
libgtk-3-dev$TARGET_APT_ARCH \
libibus-1.0-dev$TARGET_APT_ARCH \
libpango1.0-dev$TARGET_APT_ARCH \
libpulse-dev$TARGET_APT_ARCH \
libsndio-dev$TARGET_APT_ARCH \
libudev-dev$TARGET_APT_ARCH \
@ -62,7 +66,23 @@ if [[ $RUNNER_OS == 'Linux' ]]; then
libdrm-dev$TARGET_APT_ARCH \
libgbm-dev$TARGET_APT_ARCH \
libpulse-dev$TARGET_APT_ARCH
if [[ $TARGET_APT_ARCH != :i386 ]]; then
# Build libdecor.
# This is required so that window decorations can work on wayland.
# The support will only be enabled in SDL, but we're not shipping the libdecor binaries
# because making them work from a c# app as everything else does (via runtimes) is too difficult.
# Also skip i386 because attempting to support this for i386 is a pain.
# Special shoutouts to gnome for refusing to support server-side decorations.
git clone https://gitlab.freedesktop.org/libdecor/libdecor.git
cd libdecor
git checkout 0.2.2
meson build --buildtype release
$SUDO meson install -C build
cd ..
fi
fi
cmake -B build $FLAGS -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSDL_SHARED_ENABLED_BY_DEFAULT=ON -DSDL_STATIC_ENABLED_BY_DEFAULT=ON