Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build wlroots 018 #114

Merged
merged 2 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions .github/workflows/build-for-bookworm-wlroots-018.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Build for Linux (Bookworm, libwlroots-0.18)

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

env:
INSTALL_PATH: "${HOME}/wlmaker"
INSTALL_LIBRARY_PATH: "${HOME}/wlmaker/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)"
INSTALL_PKGCONFIG_PATH: "${HOME}/wlmaker/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/pkgconfig/:${HOME}/wlmaker/share/pkgconfig/"

jobs:
build_matrix:
strategy:
matrix:
compiler: [ "gcc" ]
runs-on: ubuntu-latest
container:
image: debian:bookworm

steps:
- name: Install package dependencies.
run: |
apt-get update
apt-get install -y \
bison \
clang \
cmake \
doxygen \
flex \
foot \
git \
glslang-dev \
glslang-tools \
gnustep-base-runtime \
graphviz \
libcairo2-dev \
libgbm-dev \
libinput-dev \
libncurses-dev \
libseat-dev \
libudev-dev \
libvulkan-dev \
libwayland-dev \
libxcb-composite0-dev \
libxcb-dri3-dev \
libxcb-ewmh-dev \
libxcb-icccm4-dev \
libxcb-present-dev \
libxcb-render-util0-dev \
libxcb-res0-dev \
libxcb-xinput-dev \
libxkbcommon-dev \
libxml2-dev \
meson \
plantuml \
seatd \
wayland-protocols \
xmlto \
xsltproc \
xwayland

- name: Checkout code, including git submodules.
uses: actions/checkout@v4
with:
submodules: recursive

- name: Configure and build dependencies/.
run: |
export CC="${{ matrix.compiler }}"
export PKG_CONFIG_PATH="${{ env.INSTALL_PKGCONFIG_PATH }}"
export LD_LIBRARY_PATH="${{ env.INSTALL_LIBRARY_PATH }}"
export PATH="${PATH}:${{ env.INSTALL_PATH }}/bin"
cmake -DCMAKE_INSTALL_PREFIX:PATH=${{ env.INSTALL_PATH }} dependencies/ -B dependencies/build/
cmake --build dependencies/build

- name: Configure wlmaker through CMake.
run: |
export CC="${{ matrix.compiler }}"
export PKG_CONFIG_PATH="${{ env.INSTALL_PKGCONFIG_PATH }}"
export LD_LIBRARY_PATH="${{ env.INSTALL_LIBRARY_PATH }}"
export PATH="${PATH}:${{ env.INSTALL_PATH }}/bin"
cmake -DCMAKE_INSTALL_PREFIX:PATH=${{ env.INSTALL_PATH }} -Dconfig_DOXYGEN_CRITICAL=ON -B build/

- name: Build wlmaker.
run: |
export CC="${{ matrix.compiler }}"
export LD_LIBRARY_PATH="${{ env.INSTALL_LIBRARY_PATH }}"
export PATH="${PATH}:${{ env.INSTALL_PATH }}/bin"
cmake --build build/

- name: Build documentation.
run: cmake --build build/ --target doc

- name: Run all tests.
run: |
export LD_LIBRARY_PATH="${{ env.INSTALL_LIBRARY_PATH }}"
ctest --test-dir build/ --build-run-dir build/ -V
45 changes: 9 additions & 36 deletions .github/workflows/build-for-linux.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build for Linux
name: Build for Linux (Trixie, pre-compiled libwlroots-dev)

on:
push:
Expand Down Expand Up @@ -28,53 +28,26 @@ jobs:
cmake \
doxygen \
flex \
foot \
gcc \
git \
glslang-dev \
glslang-tools \
gnustep-base-runtime \
graphviz \
libcairo2-dev \
libgbm-dev \
libinput-dev \
libncurses-dev \
libseat-dev \
libudev-dev \
libvulkan-dev \
libwayland-dev \
libwlroots-dev \
libxcb-composite0-dev \
libxcb-dri3-dev \
libxcb-ewmh-dev \
libxcb-icccm4-dev \
libxcb-present-dev \
libxcb-render-util0-dev \
libxcb-res0-dev \
libxcb-xinput-dev \
libxkbcommon-dev \
libxml2-dev \
meson \
pkg-config \
plantuml \
seatd \
wayland-protocols \
xmlto \
xsltproc \
xwayland

- name: Checkout code including submodule dependencies.
- name: Checkout code, including git submodules.
uses: actions/checkout@v3
with:
submodules: recursive

- name: Configure and build submodule dependencies.
run: |
export CC="${{ matrix.compiler }}"
cmake -DCMAKE_INSTALL_PREFIX:PATH=${{ env.INSTALL_PATH }} dependencies/ -B dependencies/build/
# Not using 'recursive' prevents fetching extra submodules below
# dependencies/. These are only needed to build wlroots from source.
submodules: true

- name: Configure wlmaker through CMake.
run: |
export CC="${{ matrix.compiler }}"
cmake -DCMAKE_INSTALL_PREFIX:PATH=${{ env.INSTALL_PATH }} -B build/
cmake -DCMAKE_INSTALL_PREFIX:PATH=${{ env.INSTALL_PATH }} -Dconfig_DOXYGEN_CRITICAL=ON -B build/

- name: Build wlmaker.
run: |
Expand All @@ -84,6 +57,6 @@ jobs:
- name: Build documentation.
run: cmake --build build/ --target doc

- name: Run all tests
- name: Run all tests.
run: |
ctest --test-dir build/ --build-run-dir build/ -V
39 changes: 3 additions & 36 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -3,42 +3,9 @@
url = ../libbase
branch = main
update = rebase
[submodule "dependencies/drm"]
path = dependencies/drm
url = https://gitlab.freedesktop.org/mesa/drm.git
branch = main
update = rebase
[submodule "dependencies/pixman"]
path = dependencies/pixman
url = https://gitlab.freedesktop.org/pixman/pixman.git
branch = master
update = rebase
[submodule "dependencies/wayland"]
path = dependencies/wayland
url = https://gitlab.freedesktop.org/wayland/wayland.git
branch = main
update = rebase
[submodule "dependencies/wayland-protocols"]
path = dependencies/wayland-protocols
url = https://gitlab.freedesktop.org/wayland/wayland-protocols.git
branch = main
update = rebase
[submodule "dependencies/hwdata"]
path = dependencies/hwdata
url = https://github.com/vcrhonek/hwdata.git
branch = master
ignore = dirty
update = rebase
[submodule "dependencies/libdisplay-info"]
path = dependencies/libdisplay-info
url = https://gitlab.freedesktop.org/emersion/libdisplay-info.git
branch = main
update = rebase
[submodule "dependencies/wlroots"]
path = dependencies/wlroots
url = https://gitlab.freedesktop.org/wlroots/wlroots.git
branch = master
update = rebase
[submodule "examples/gtk-layer-shell"]
path = examples/gtk-layer-shell
url = https://github.com/wmww/gtk-layer-shell.git
[submodule "dependencies"]
path = dependencies
url = git@github.com:phkaeser/wlmaker-dependencies.git
9 changes: 3 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,10 @@ PKG_CHECK_MODULES(XWAYLAND xwayland>=22.1.9)
# We aim to support wlroots 0.17 and 0.18. With wlroots 0.18, the package name
# includes the major/minor version, so we need this extra check.
PKG_CHECK_MODULES(WLROOTS IMPORTED_TARGET wlroots-0.18>=0.18)
IF(WLROOTS_FOUND)
MESSAGE(STATUS "Found wlroots-0.18, will be using that version.")
ELSE(WLROOTS_FOUND)
# wlroots 0.17 and earlier. Supported, as this is on Debian trixie.
IF(NOT WLROOTS_FOUND)
# If that wasn't found, we'll resort to the (recent) 0.17.4 version.
PKG_CHECK_MODULES(WLROOTS REQUIRED IMPORTED_TARGET wlroots>=0.17.4)
MESSAGE(STATUS "Found wlroots version ${WLROOTS_VERSION}.")
ENDIF(WLROOTS_FOUND)
ENDIF(NOT WLROOTS_FOUND)

# Configuration. Remove CMakeCache.txt to rerun...
OPTION(config_DEBUG "Include debugging information" ON)
Expand Down
1 change: 1 addition & 0 deletions dependencies
Submodule dependencies added at 048711
107 changes: 0 additions & 107 deletions dependencies/CMakeLists.txt

This file was deleted.

1 change: 0 additions & 1 deletion dependencies/drm
Submodule drm deleted from 5254fd
1 change: 0 additions & 1 deletion dependencies/hwdata
Submodule hwdata deleted from 81e9ef
1 change: 0 additions & 1 deletion dependencies/libdisplay-info
Submodule libdisplay-info deleted from 66b802
1 change: 0 additions & 1 deletion dependencies/pixman
Submodule pixman deleted from 6c2e4a
1 change: 0 additions & 1 deletion dependencies/wayland
Submodule wayland deleted from 696332
1 change: 0 additions & 1 deletion dependencies/wayland-protocols
Submodule wayland-protocols deleted from 681c33
1 change: 0 additions & 1 deletion dependencies/wlroots
Submodule wlroots deleted from a2d2c3
Loading
Loading