Build failure on OpenSUSE Tumbleweed
I'm trying to build quickshell on my desktop running OpenSUSE Tumbleweed 20250925, but I am running into a problem with cmake finding wayland-util.h.
Configuration Output
joss@grove ~/quickshell (master)> cmake -GNinja -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCRASH_REPORTE
R=OFF
-- Quickshell configuration
-- Distributor: Unset
-- Distributor provided debuginfo: OFF
-- Disable precompild headers (dev): OFF
-- Build tests (dev): OFF
-- ASAN (dev): OFF
-- Keep Frame Pointers (dev): OFF
-- Crash Handling: OFF
-- Use jemalloc: ON
-- Unix Sockets: ON
-- Wayland: ON
-- Wlroots Layer-Shell: ON
-- Session Lock: ON
-- Foreign Toplevel Management: ON
-- Hyprland: ON
-- Hyprland IPC: ON
-- Hyprland Global Shortcuts: ON
-- Hyprland Focus Grabbing: ON
-- Hyprland Surface Extensions: ON
-- Screencopy: ON
-- Image Copy Capture: ON
-- Wlroots Screencopy: ON
-- Hyprland Toplevel Export: ON
-- X11: ON
-- I3/Sway: ON
-- I3/Sway IPC: ON
-- System Tray: ON
-- PipeWire: ON
-- Mpris: ON
-- Pam: ON
-- Greetd: ON
-- UPower: ON
-- Notifications: ON
-- Bluetooth: ON
CMake Warning at cmake/install-qml-module.cmake:6 (message):
Neither INSTALL_QMLDIR nor INSTALL_QML_PREFIX is set. QML modules will not
be installed.
Call Stack (most recent call first):
CMakeLists.txt:75 (include)
-- Found wayland-protocols at
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquick2plugin' is a dependency of 'quickshell', but the
link target it defines (Qt6::qtquick2plugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qmlplugin' is a dependency of 'quickshell', but the link
target it defines (Qt6::qmlplugin) does not exist in the current scope.
The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'modelsplugin' is a dependency of 'quickshell', but the link
target it defines (Qt6::modelsplugin) does not exist in the current scope.
The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'workerscriptplugin' is a dependency of 'quickshell', but
the link target it defines (Qt6::workerscriptplugin) does not exist in the
current scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2plugin' is a dependency of 'quickshell',
but the link target it defines (Qt6::qtquickcontrols2plugin) does not exist
in the current scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2fusionstyleplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2fusionstyleplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2materialstyleplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2materialstyleplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2imaginestyleplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2imaginestyleplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2universalstyleplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2universalstyleplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2fluentwinui3styleplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2fluentwinui3styleplugin) does not exist in the
current scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2basicstyleplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2basicstyleplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquicktemplates2plugin' is a dependency of 'quickshell',
but the link target it defines (Qt6::qtquicktemplates2plugin) does not
exist in the current scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2implplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2implplugin) does not exist in the current scope. The
plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2fusionstyleimplplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2fusionstyleimplplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'quickwindowplugin' is a dependency of 'quickshell', but the
link target it defines (Qt6::quickwindow) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2materialstyleimplplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2materialstyleimplplugin) does not exist in the
current scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2imaginestyleimplplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2imaginestyleimplplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2universalstyleimplplugin' is a dependency
of 'quickshell', but the link target it defines
(Qt6::qtquickcontrols2universalstyleimplplugin) does not exist in the
current scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2fluentwinui3styleimplplugin' is a
dependency of 'quickshell', but the link target it defines
(Qt6::qtquickcontrols2fluentwinui3styleimplplugin) does not exist in the
current scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'effectsplugin' is a dependency of 'quickshell', but the
link target it defines (Qt6::effectsplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qquicklayoutsplugin' is a dependency of 'quickshell', but
the link target it defines (Qt6::qquicklayoutsplugin) does not exist in the
current scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qmlshapesplugin' is a dependency of 'quickshell', but the
link target it defines (Qt6::qmlshapesplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'qtquickcontrols2basicstyleimplplugin' is a dependency of
'quickshell', but the link target it defines
(Qt6::qtquickcontrols2basicstyleimplplugin) does not exist in the current
scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
CMake Warning at /usr/lib64/cmake/Qt6Qml/Qt6QmlMacros.cmake:4408 (message):
The qml plugin 'labsmodelsplugin' is a dependency of 'quickshell', but the
link target it defines (Qt6::labsmodelsplugin) does not exist in the
current scope. The plugin will not be linked.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (qt6_import_qml_plugins)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:766 (cmake_language)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:844 (_qt_internal_finalize_executable)
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:888:EVAL:1 (qt6_finalize_target)
src/CMakeLists.txt:DEFERRED
-- Configuring done (0.9s)
-- Generating done (0.6s)
-- Build files have been written to: /home/joss/quickshell/build
I am not sure if the missing qml plugins are indicitive of another missing dependency - I believe I have installed all of the required dependencies listed in build.md. Attempting to build results in:
Build Error
joss@grove ~/quickshell (master)> cmake --build build
[52/1048] Building C object src/wayland/session_loc.../ext-session-lock-v1/wayland-ext-session-lock-v1.c.o
FAILED: [code=1] src/wayland/session_lock/CMakeFiles/wl-proto-ext-session-lock-v1-wl.dir/wl-proto/ext-session-lock-v1/wayland-ext-session-lock-v1.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/session_lock/wl-proto-ext-session-lock-v1-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/session_lock/CMakeFiles/wl-proto-ext-session-lock-v1-wl.dir/wl-proto/ext-session-lock-v1/wayland-ext-session-lock-v1.c.o -MF src/wayland/session_lock/CMakeFiles/wl-proto-ext-session-lock-v1-wl.dir/wl-proto/ext-session-lock-v1/wayland-ext-session-lock-v1.c.o.d -o src/wayland/session_lock/CMakeFiles/wl-proto-ext-session-lock-v1-wl.dir/wl-proto/ext-session-lock-v1/wayland-ext-session-lock-v1.c.o -c /home/joss/quickshell/build/src/wayland/session_lock/wl-proto/ext-session-lock-v1/wayland-ext-session-lock-v1.c
/home/joss/quickshell/build/src/wayland/session_lock/wl-proto/ext-session-lock-v1/wayland-ext-session-lock-v1.c:28:10: fatal error: wayland-util.h: No such file or directory
28 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[54/1048] Building C object src/wayland/wlr_layersh...-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o
FAILED: [code=1] src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto-wlr-layer-shell-unstable-v1-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o -MF src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o.d -o src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o -c /home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c
/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c:31:10: fatal error: wayland-util.h: No such file or directory
31 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[59/1048] Building C object src/wayland/toplevel_ma...land-wlr-foreign-toplevel-management-unstable-v1.c.o
FAILED: [code=1] src/wayland/toplevel_management/CMakeFiles/wl-proto-wlr-foreign-toplevel-management-unstable-v1-wl.dir/wl-proto/wlr-foreign-toplevel-management-unstable-v1/wayland-wlr-foreign-toplevel-management-unstable-v1.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/toplevel_management/wl-proto-wlr-foreign-toplevel-management-unstable-v1-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/toplevel_management/CMakeFiles/wl-proto-wlr-foreign-toplevel-management-unstable-v1-wl.dir/wl-proto/wlr-foreign-toplevel-management-unstable-v1/wayland-wlr-foreign-toplevel-management-unstable-v1.c.o -MF src/wayland/toplevel_management/CMakeFiles/wl-proto-wlr-foreign-toplevel-management-unstable-v1-wl.dir/wl-proto/wlr-foreign-toplevel-management-unstable-v1/wayland-wlr-foreign-toplevel-management-unstable-v1.c.o.d -o src/wayland/toplevel_management/CMakeFiles/wl-proto-wlr-foreign-toplevel-management-unstable-v1-wl.dir/wl-proto/wlr-foreign-toplevel-management-unstable-v1/wayland-wlr-foreign-toplevel-management-unstable-v1.c.o -c /home/joss/quickshell/build/src/wayland/toplevel_management/wl-proto/wlr-foreign-toplevel-management-unstable-v1/wayland-wlr-foreign-toplevel-management-unstable-v1.c
/home/joss/quickshell/build/src/wayland/toplevel_management/wl-proto/wlr-foreign-toplevel-management-unstable-v1/wayland-wlr-foreign-toplevel-management-unstable-v1.c:31:10: fatal error: wayland-util.h: No such file or directory
31 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[61/1048] Building C object src/wayland/wlr_layersh...hell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o
FAILED: [code=1] src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto-xdg-shell-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o -MF src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o.d -o src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o -c /home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/xdg-shell/wayland-xdg-shell.c
/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/xdg-shell/wayland-xdg-shell.c:34:10: fatal error: wayland-util.h: No such file or directory
34 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[63/1048] Building C object src/wayland/buffer/CMak...wl-proto/linux-dmabuf-v1/wayland-linux-dmabuf-v1.c.o
FAILED: [code=1] src/wayland/buffer/CMakeFiles/wl-proto-linux-dmabuf-v1-wl.dir/wl-proto/linux-dmabuf-v1/wayland-linux-dmabuf-v1.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/buffer/wl-proto-linux-dmabuf-v1-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/buffer/CMakeFiles/wl-proto-linux-dmabuf-v1-wl.dir/wl-proto/linux-dmabuf-v1/wayland-linux-dmabuf-v1.c.o -MF src/wayland/buffer/CMakeFiles/wl-proto-linux-dmabuf-v1-wl.dir/wl-proto/linux-dmabuf-v1/wayland-linux-dmabuf-v1.c.o.d -o src/wayland/buffer/CMakeFiles/wl-proto-linux-dmabuf-v1-wl.dir/wl-proto/linux-dmabuf-v1/wayland-linux-dmabuf-v1.c.o -c /home/joss/quickshell/build/src/wayland/buffer/wl-proto/linux-dmabuf-v1/wayland-linux-dmabuf-v1.c
/home/joss/quickshell/build/src/wayland/buffer/wl-proto/linux-dmabuf-v1/wayland-linux-dmabuf-v1.c:29:10: fatal error: wayland-util.h: No such file or directory
29 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[64/1048] Building C object src/wayland/screencopy/...vel-list-v1/wayland-ext-foreign-toplevel-list-v1.c.o
FAILED: [code=1] src/wayland/screencopy/image_copy_capture/CMakeFiles/wl-proto-ext-foreign-toplevel-list-v1-wl.dir/wl-proto/ext-foreign-toplevel-list-v1/wayland-ext-foreign-toplevel-list-v1.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/screencopy/image_copy_capture/wl-proto-ext-foreign-toplevel-list-v1-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/screencopy/image_copy_capture/CMakeFiles/wl-proto-ext-foreign-toplevel-list-v1-wl.dir/wl-proto/ext-foreign-toplevel-list-v1/wayland-ext-foreign-toplevel-list-v1.c.o -MF src/wayland/screencopy/image_copy_capture/CMakeFiles/wl-proto-ext-foreign-toplevel-list-v1-wl.dir/wl-proto/ext-foreign-toplevel-list-v1/wayland-ext-foreign-toplevel-list-v1.c.o.d -o src/wayland/screencopy/image_copy_capture/CMakeFiles/wl-proto-ext-foreign-toplevel-list-v1-wl.dir/wl-proto/ext-foreign-toplevel-list-v1/wayland-ext-foreign-toplevel-list-v1.c.o -c /home/joss/quickshell/build/src/wayland/screencopy/image_copy_capture/wl-proto/ext-foreign-toplevel-list-v1/wayland-ext-foreign-toplevel-list-v1.c
/home/joss/quickshell/build/src/wayland/screencopy/image_copy_capture/wl-proto/ext-foreign-toplevel-list-v1/wayland-ext-foreign-toplevel-list-v1.c:34:10: fatal error: wayland-util.h: No such file or directory
34 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[65/1048] Building C object src/wayland/screencopy/...opy-capture-v1/wayland-ext-image-copy-capture-v1.c.o
FAILED: [code=1] src/wayland/screencopy/image_copy_capture/CMakeFiles/wl-proto-ext-image-copy-capture-v1-wl.dir/wl-proto/ext-image-copy-capture-v1/wayland-ext-image-copy-capture-v1.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/screencopy/image_copy_capture/wl-proto-ext-image-copy-capture-v1-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/screencopy/image_copy_capture/CMakeFiles/wl-proto-ext-image-copy-capture-v1-wl.dir/wl-proto/ext-image-copy-capture-v1/wayland-ext-image-copy-capture-v1.c.o -MF src/wayland/screencopy/image_copy_capture/CMakeFiles/wl-proto-ext-image-copy-capture-v1-wl.dir/wl-proto/ext-image-copy-capture-v1/wayland-ext-image-copy-capture-v1.c.o.d -o src/wayland/screencopy/image_copy_capture/CMakeFiles/wl-proto-ext-image-copy-capture-v1-wl.dir/wl-proto/ext-image-copy-capture-v1/wayland-ext-image-copy-capture-v1.c.o -c /home/joss/quickshell/build/src/wayland/screencopy/image_copy_capture/wl-proto/ext-image-copy-capture-v1/wayland-ext-image-copy-capture-v1.c
/home/joss/quickshell/build/src/wayland/screencopy/image_copy_capture/wl-proto/ext-image-copy-capture-v1/wayland-ext-image-copy-capture-v1.c:30:10: fatal error: wayland-util.h: No such file or directory
30 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[69/1048] Building CXX object CMakeFiles/qs-pchset-large.dir/cmake_pch.hxx.gch
ninja: build stopped: subcommand failed.
I do have wayland-util.h on my system, provided by the wayland-client package. Running pkg-config returns:
joss@grove ~/quickshell (master)> pkg-config --cflags wayland-client
-I/usr/include/wayland
joss@grove ~/quickshell (master)> ls /usr/include/wayland
wayland-client-core.h wayland-cursor.h wayland-egl.h wayland-server-protocol.h
wayland-client.h wayland-egl-backend.h wayland-server-core.h wayland-util.h
wayland-client-protocol.h wayland-egl-core.h wayland-server.h wayland-version.h
I believe the problem may be related to the wayland headers being in the wayland-client package instead of where they are expected, I'm not sure if this is how it is packaged on other distributions. I tried to poke around in CMakeLists.txt to see if I could fix it, but I'm not familiar enough with cmake to make any progress.
After a bit more research, I did the simplest possible thing I could think of, and added include_directories("/usr/include/wayland") to src/wayland/CMakeLists.txt. After this, the build process was able to find the appropriate wayland-util.h header.
I then encountered a second, similar error - it couldn't find GLES3/gl32.h. After searching around I was able to find this provided by the Mesa-libGLESv3-devel package. After installing that, I was able to build and install quickshell successfully.
I'll leave this open for now - I think CMakeLists.txt still needs a change to find wayland-util.h on OpenSUSE by default and I know my solution of hardcoding the include path isn't suitable for general use, but hopefully this will help anyone else who has encountered this same problem.
I am not entirely sure what you did here but your system include paths are totally broken.
I'm only building this from source because there's no package in the openSUSE repos for it. I don't think my system or my include paths are broken, considering it's a fresh OpenSUSE install.
This seems like an issue with the cmake config when building on OpenSUSE, no?
Once I added the appropriate include path for the wayland headers everything built fine, all the other headers and dependencies were correctly found without extra work on my part.
I seem to have missed half your message last night and thought your gl headers were broken too. Its weird that no other distros seem to have this problem, and I can't reproduce it myself. Can you check if this patch fixes it for you?
diff --git a/src/wayland/CMakeLists.txt b/src/wayland/CMakeLists.txt
index a96fe6b..8b4a207 100644
--- a/src/wayland/CMakeLists.txt
+++ b/src/wayland/CMakeLists.txt
@@ -66,7 +66,7 @@ function (wl_proto target name dir)
add_library(${target} STATIC ${QWS_CLIENT_HEADER} ${QWS_CLIENT_CODE})
target_include_directories(${target} INTERFACE ${PROTO_BUILD_PATH})
- target_link_libraries(${target} wl-proto-${name}-wl Qt6::WaylandClient Qt6::WaylandClientPrivate)
+ target_link_libraries(${target} wl-proto-${name}-wl Qt6::WaylandClient Qt6::WaylandClientPrivate wayland-client)
qs_pch(${target} SET wayland-protocol)
endfunction()
Its weird that no other distros seem to have this problem
I assume OpenSUSE breaks the packages with the dependencies up in a way that some other distros don't, it doesn't seem too unusual. The installation instructions only include Fedora, Arch, Nix, and Guix - I don't know if e.g. debian has this problem or not.
I did take the time to try this on a fresh install of OpenSUSE in a VM just to make sure. There's several packages on OpenSUSE that have different names from their debian versions.
Complete reproduction steps:
I can confirm that these steps work (to reproduce the error) on a completely fresh VM with OpenSUSE, so this isn't due to a variation on my side.
- Install OpenSUSE Tumbleweed from the 2025-10-01 snapshot ISO.
- Install git, get source
sudo zypper in git
git clone https://github.com/quickshell-mirror/quickshell
cd quickshell
git checkout "v0.2.0"
- Install misc deps
sudo zypper in cmake spirv-tools pkg-config cmake Mesa-libGLESv3-devel cli11-devel \
wayland-protocols-devel libgbm-devel pipewire-devel jemalloc-devel
- Install qt deps
sudo zypper in qt6-base-devel \
qt6-declarative-devel \
qt6-shadertools-devel \
qt6-quickprivate-devel \
qt6-quick-private-devel \
qt6-wayland-devel \
qt6-waylandclient-devel \
qt6-waylandclient-private-devel
- Configure
cmake -GNinja -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCRASH_REPORTER=OFF
cmake --build build
At this point, the error is returned:
joss@localhost:~/quickshell> cmake --build build
[1/949] Building C object src/wayland/wlr_layershell/CMakeFi...to-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o
FAILED: [code=1] src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto-xdg-shell-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o -MF src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o.d -o src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o -c /home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/xdg-shell/wayland-xdg-shell.c
/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/xdg-shell/wayland-xdg-shell.c:34:10: fatal error: wayland-util.h: No such file or directory
34 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[2/949] Building C object src/wayland/wlr_layershell/CMakeFi...er-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o
FAILED: [code=1] src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto-wlr-layer-shell-unstable-v1-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o -MF src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o.d -o src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o -c /home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c
/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c:31:10: fatal error: wayland-util.h: No such file or directory
31 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[6/949] Building CXX object src/wayland/CMakeFiles/qs-pchset-wayland-protocol.dir/__/__/pchstub.cpp.o
ninja: build stopped: subcommand failed.
I tried building from main too, same results.
Trying the change
I added your change to src/wayland/CMakeLists.txt and the output did change, but it still fails to build.
Result:
joss@localhost:~/quickshell> git diff
diff --git a/src/wayland/CMakeLists.txt b/src/wayland/CMakeLists.txt
index 1d6543e..515fa92 100644
--- a/src/wayland/CMakeLists.txt
+++ b/src/wayland/CMakeLists.txt
@@ -66,7 +66,7 @@ function (wl_proto target name dir)
add_library(${target} STATIC ${QWS_CLIENT_HEADER} ${QWS_CLIENT_CODE})
target_include_directories(${target} INTERFACE ${PROTO_BUILD_PATH})
- target_link_libraries(${target} wl-proto-${name}-wl Qt6::WaylandClient Qt6::WaylandClientPrivate)
+ target_link_libraries(${target} wl-proto-${name}-wl Qt6::WaylandClient Qt6::WaylandClientPrivate wayland-client)
qs_pch(${target} SET wayland-protocol)
endfunction()
joss@localhost:~/quickshell> cmake -GNinja -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCRASH_REPORTER=OFF
joss@localhost:~/quickshell> cmake --build build
[1/947] Building C object src/wayland/wlr_layershell/CMakeFi...to-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o
FAILED: [code=1] src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto-xdg-shell-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o -MF src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o.d -o src/wayland/wlr_layershell/CMakeFiles/wl-proto-xdg-shell-wl.dir/wl-proto/xdg-shell/wayland-xdg-shell.c.o -c /home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/xdg-shell/wayland-xdg-shell.c
/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/xdg-shell/wayland-xdg-shell.c:34:10: fatal error: wayland-util.h: No such file or directory
34 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[2/947] Building C object src/wayland/wlr_layershell/CMakeFi...er-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o
FAILED: [code=1] src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o
/usr/bin/cc -D_REENTRANT -I/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto-wlr-layer-shell-unstable-v1-wl_autogen/include -O2 -g -DNDEBUG -Wall -Wextra -Wno-vla-cxx-extension -MD -MT src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o -MF src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o.d -o src/wayland/wlr_layershell/CMakeFiles/wl-proto-wlr-layer-shell-unstable-v1-wl.dir/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c.o -c /home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c
/home/joss/quickshell/build/src/wayland/wlr_layershell/wl-proto/wlr-layer-shell-unstable-v1/wayland-wlr-layer-shell-unstable-v1.c:31:10: fatal error: wayland-util.h: No such file or directory
31 | #include "wayland-util.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
[6/946] Automatic MOC for target wl-proto-wlr-screencopy-unstable-v1-wl
ninja: build stopped: subcommand failed.
diff --git a/src/wayland/CMakeLists.txt b/src/wayland/CMakeLists.txt
index a96fe6b..61af8d6 100644
--- a/src/wayland/CMakeLists.txt
+++ b/src/wayland/CMakeLists.txt
@@ -21,7 +21,7 @@ else()
endif()
qs_add_pchset(wayland-protocol
- DEPENDENCIES Qt::Core Qt::WaylandClient Qt::WaylandClientPrivate
+ DEPENDENCIES Qt::Core Qt::WaylandClient Qt::WaylandClientPrivate wayland-client
HEADERS
<wayland-client.h>
<qbytearray.h>
@@ -66,7 +66,8 @@ function (wl_proto target name dir)
add_library(${target} STATIC ${QWS_CLIENT_HEADER} ${QWS_CLIENT_CODE})
target_include_directories(${target} INTERFACE ${PROTO_BUILD_PATH})
- target_link_libraries(${target} wl-proto-${name}-wl Qt6::WaylandClient Qt6::WaylandClientPrivate)
+ target_link_libraries(wl-proto-${name}-wl PUBLIC Qt6::WaylandClient Qt6::WaylandClientPrivate wayland-client)
+ target_link_libraries(${target} PRIVATE wl-proto-${name}-wl)
qs_pch(${target} SET wayland-protocol)
endfunction()
Try this one? It might take a couple times to figure this out, the above is a guess.
diff --git a/src/wayland/CMakeLists.txt b/src/wayland/CMakeLists.txt index a96fe6b..61af8d6 100644 --- a/src/wayland/CMakeLists.txt +++ b/src/wayland/CMakeLists.txt @@ -21,7 +21,7 @@ else() endif()
qs_add_pchset(wayland-protocol
- DEPENDENCIES Qt::Core Qt::WaylandClient Qt::WaylandClientPrivate
DEPENDENCIES Qt::Core Qt::WaylandClient Qt::WaylandClientPrivate wayland-client HEADERS <wayland-client.h> <qbytearray.h> @@ -66,7 +66,8 @@ function (wl_proto target name dir) add_library(${target} STATIC ${QWS_CLIENT_HEADER} ${QWS_CLIENT_CODE})
target_include_directories(${target} INTERFACE ${PROTO_BUILD_PATH})
- target_link_libraries(${target} wl-proto-${name}-wl Qt6::WaylandClient Qt6::WaylandClientPrivate)
- target_link_libraries(wl-proto-${name}-wl PUBLIC Qt6::WaylandClient Qt6::WaylandClientPrivate wayland-client)
- target_link_libraries(${target} PRIVATE wl-proto-${name}-wl) qs_pch(${target} SET wayland-protocol) endfunction()
Try this one? It might take a couple times to figure this out, the above is a guess.
This fixes building on openSUSE, or at least makes it possible.
As a simple workaround, symlinking /usr/include/wayland/wayland-util.h to /usr/include/wayland-util.h works fine