{ "module": "waylandcompositor", "condition": "module.gui", "depends": [ "gui-private" ], "testDir": "../../config.tests", "libraries": { "wayland-server": { "label": "wayland-server", "test": "wayland", "sources": [ { "type": "pkgConfig", "args": "wayland-server" }, "-lwayland-server" ] }, "wayland-egl": { "test": "wayland_egl", "sources": [ { "type": "pkgConfig", "args": "wayland-egl" }, "-lwayland-egl", "-lEGL" ] }, "wayland-kms": { "label": "wayland-kms", "test": { "tail": [ "extern \"C\" {", "#include /* may fail because of 'private:' in c++ type_traits.h */", "#define private priv", "#include ", "#undef private", "}" ], "main": [ "struct wl_resource *buffer = nullptr;", "struct wl_kms_buffer *kmsBuffer = wayland_kms_buffer_get(buffer);" ] }, "sources": [ { "type": "pkgConfig", "args": "wayland-kms" }, "-lwayland-kms" ] }, "xcomposite": { "test": "xcomposite", "sources": [ { "type": "pkgConfig", "args": "xcomposite" }, "-lxcomposite" ] }, "glx": { "test": "glx", "sources": [ { "type": "pkgConfig", "args": "x11 gl" }, "-lX11 -lGl" ] } }, "tests": { "wayland-scanner": { "type": "compile", "test": "wayland_scanner", "use": "wayland-server" }, "drm-egl-server": { "type": "compile", "test": "drm_egl_server", "use": "egl" }, "libhybris-egl-server": { "type": "compile", "test": "libhybris_egl_server", "use": "egl" }, "dmabuf-server-buffer": { "label": "Linux dma-buf Buffer Sharing", "type": "compile", "test": "dmabuf_server_buffer", "use": "egl drm" }, "dmabuf-client-buffer": { "label": "Linux Client dma-buf Buffer Sharing", "type": "compile", "test": "dmabuf_client_buffer", "use": "egl drm" }, "vulkan-server-buffer": { "label": "Vulkan Buffer Sharing", "type": "compile", "test": "vulkan_server_buffer" } }, "features": { "wayland-server": { "label": "Qt Wayland Compositor", "condition": "!config.win32 && libs.wayland-server && tests.wayland-scanner", "output": [ "privateFeature" ] }, "wayland-datadevice": { "condition": "features.draganddrop || features.clipboard", "output": [ "privateFeature" ] }, "wayland-egl": { "label": "EGL", "condition": "features.wayland-server && features.opengl && features.egl && libs.wayland-egl", "output": [ "privateFeature" ] }, "wayland-brcm": { "label": "Raspberry Pi", "condition": "features.wayland-server && features.eglfs_brcm", "output": [ "privateFeature" ] }, "xcomposite-egl": { "label": "XComposite EGL", "condition": "features.wayland-server && features.egl && features.opengl && libs.xcomposite", "output": [ "privateFeature" ] }, "xcomposite-glx": { "label": "XComposite EGL", "condition": "features.wayland-server && features.opengl && !features.opengles2 && libs.xcomposite && libs.glx", "output": [ "privateFeature" ] }, "wayland-drm-egl-server-buffer": { "label": "DRM EGL", "condition": "features.wayland-server && features.opengl && features.egl && tests.drm-egl-server", "output": [ "privateFeature" ] }, "wayland-libhybris-egl-server-buffer": { "label": "libhybris EGL", "condition": "features.wayland-server && features.opengl && features.egl && tests.libhybris-egl-server", "output": [ "privateFeature" ] }, "wayland-dmabuf-server-buffer": { "label": "Linux dma-buf server buffer integration", "condition": "features.wayland-server && features.opengl && features.egl && tests.dmabuf-server-buffer", "output": [ "privateFeature" ] }, "wayland-dmabuf-client-buffer": { "label": "Linux dma-buf client buffer integration", "condition": "features.wayland-server && features.opengl && features.egl && tests.dmabuf-client-buffer", "output": [ "privateFeature" ] }, "wayland-vulkan-server-buffer": { "label": "Vulkan-based server buffer integration", "condition": "features.wayland-server && features.opengl && features.egl && tests.vulkan-server-buffer", "output": [ "privateFeature" ] }, "wayland-shm-emulation-server-buffer": { "label": "Shm emulation server buffer", "condition": "features.wayland-server && features.opengl", "output": [ "privateFeature" ] }, "wayland-layer-integration-vsp2": { "label": "VSP2 hardware layer integration", "condition": "features.wayland-server && features.eglfs_vsp2 && libs.wayland-kms", "output": [ "privateFeature" ] }, "wayland-compositor-quick": { "label": "QtQuick integration for wayland compositor", "purpose": "Allows QtWayland compositor types to be used with QtQuick", "condition": "features.wayland-server && module.quick && features.opengl", "output": [ "publicFeature" ] } }, "summary": [ "wayland-server", { "section": "Qt Wayland Compositor Layer Plugins", "condition": "features.wayland-server", "entries": [ "wayland-layer-integration-vsp2" ] } ] }