blob: 0dbb33643499eb6b698e14671edd88015fd99dee [file] [log] [blame]
{
"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 <math.h> /* may fail because of 'private:' in c++ type_traits.h */",
"#define private priv",
"#include <wayland-kms.h>",
"#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"
]
}
]
}