Restructure configure features
Create a new module WaylandGlobalPrivate that is merely a collection of build features that are shared by client, compositor and plugins of qtwayland. Move the features wayland-client and wayland-server to WaylandGlobalPrivate to be able to access both features in src/CMakeLists.txt. This removes the need for explicitly including the configure.cmake files of client and compositor, which fixes QTBUG-88261. Move the features that are defined in both, client and compositor, to WaylandGlobalPrivate. The module is defined in src/CMakeLists.txt to ensure that the targets created by the qt_find_package calls in src/configure.cmake are accessible in subdirectories below src/. We need the (nearly) empty src/global directory to satisfy syncqt. We cannot pass NO_SYNC_QT to qt_internal_add_module, because that prevents the creation of qtwaylandglobal-config_p.h. Fixes: QTBUG-88261 Fixes: QTBUG-91705 Change-Id: I776632a86ffe96886dc12f1f675f9ab56a2faf2a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
parent
698bea8e9a
commit
46641fddcd
@ -11,30 +11,8 @@ configure the module on targets that are missing dependencies.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# We conditionally add_subdirectory(client) based on a feature that is defined
|
||||
# in client/configure.cmake, so we need this hack to make sure the feature is
|
||||
# defined on this level as well.
|
||||
# TODO: when we remove configure.json support and stop generating
|
||||
# configure.cmake, we should move the features up one level and deduplicate the
|
||||
# features shared with the compositor.
|
||||
qt_feature_module_begin(
|
||||
NO_MODULE
|
||||
PUBLIC_FILE "qtwayland-client-config.h"
|
||||
PRIVATE_FILE "qtwayland-client-config_p.h"
|
||||
)
|
||||
include("${CMAKE_CURRENT_SOURCE_DIR}/client/configure.cmake")
|
||||
qt_feature_module_end(NO_MODULE)
|
||||
|
||||
# Similar hack as above, but for the compositor
|
||||
qt_feature_module_begin(
|
||||
NO_MODULE
|
||||
PUBLIC_FILE "qtwayland-compositor-config.h"
|
||||
PRIVATE_FILE "qtwayland-compositor-config_p.h"
|
||||
)
|
||||
include("${CMAKE_CURRENT_SOURCE_DIR}/compositor/configure.cmake")
|
||||
qt_feature_module_end(NO_MODULE)
|
||||
# special case end
|
||||
|
||||
# See global/README for a description of the following module.
|
||||
qt_internal_add_module(WaylandGlobalPrivate INTERNAL_MODULE HEADER_MODULE)
|
||||
add_subdirectory(qtwaylandscanner)
|
||||
|
||||
# special case begin
|
||||
|
249
src/platformsupport/wayland/configure.cmake
Normal file
249
src/platformsupport/wayland/configure.cmake
Normal file
@ -0,0 +1,249 @@
|
||||
# configure.cmake for the QtWaylandGlobalPrivate module
|
||||
|
||||
#### Inputs
|
||||
|
||||
|
||||
|
||||
#### Libraries
|
||||
|
||||
if(LINUX OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
# waylandclient libraries
|
||||
qt_find_package(Wayland
|
||||
PROVIDED_TARGETS Wayland::Client
|
||||
MODULE_NAME waylandclient
|
||||
QMAKE_LIB wayland-client)
|
||||
qt_find_package(Wayland
|
||||
PROVIDED_TARGETS Wayland::Cursor
|
||||
MODULE_NAME waylandclient
|
||||
QMAKE_LIB wayland-cursor)
|
||||
qt_add_qmake_lib_dependency(wayland-cursor wayland-client)
|
||||
qt_find_package(Wayland
|
||||
PROVIDED_TARGETS Wayland::Egl
|
||||
MODULE_NAME waylandclient
|
||||
QMAKE_LIB wayland-egl)
|
||||
qt_find_package(XComposite
|
||||
PROVIDED_TARGETS PkgConfig::XComposite
|
||||
MODULE_NAME waylandclient QMAKE_LIB xcomposite)
|
||||
|
||||
# waylandcompositor libraries
|
||||
qt_find_package(Wayland
|
||||
PROVIDED_TARGETS Wayland::Server
|
||||
MODULE_NAME waylandcompositor
|
||||
QMAKE_LIB wayland-server)
|
||||
qt_find_package(Wayland
|
||||
PROVIDED_TARGETS Wayland::Egl
|
||||
MODULE_NAME waylandcompositor
|
||||
QMAKE_LIB wayland-egl)
|
||||
qt_find_package(XComposite
|
||||
PROVIDED_TARGETS PkgConfig::XComposite
|
||||
MODULE_NAME waylandcompositor QMAKE_LIB xcomposite)
|
||||
|
||||
# X11 is not a public dependency of QtGui anymore, so we need to find it manually in a shared build.
|
||||
# In a static build the dependency is still propagated, so check for the target existence to prevent
|
||||
# the 'Attempt to promote imported target "X11::X11" to global scope' issue.
|
||||
if(NOT TARGET X11::X11)
|
||||
qt_find_package(X11 PROVIDED_TARGETS X11::X11 MODULE_NAME gui QMAKE_LIB xlib)
|
||||
endif()
|
||||
# Same for XKB.
|
||||
if(NOT TARGET XKB::XKB)
|
||||
qt_find_package(XKB 0.5.0 PROVIDED_TARGETS XKB::XKB MODULE_NAME gui QMAKE_LIB xkbcommon MARK_OPTIONAL)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
#### Tests
|
||||
|
||||
# drm-egl-server
|
||||
qt_config_compile_test(drm_egl_server
|
||||
LABEL "DRM EGL Server"
|
||||
LIBRARIES
|
||||
EGL::EGL
|
||||
CODE
|
||||
"
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
#ifdef EGL_MESA_drm_image
|
||||
return 0;
|
||||
#else
|
||||
#error Requires EGL_MESA_drm_image to be defined
|
||||
return 1;
|
||||
#endif
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# libhybris-egl-server
|
||||
qt_config_compile_test(libhybris_egl_server
|
||||
LABEL "libhybris EGL Server"
|
||||
LIBRARIES
|
||||
EGL::EGL
|
||||
CODE
|
||||
"
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
#include <hybris/eglplatformcommon/hybris_nativebufferext.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
#ifdef EGL_HYBRIS_native_buffer
|
||||
return 0;
|
||||
#else
|
||||
#error Requires EGL_HYBRIS_native_buffer to be defined
|
||||
return 1;
|
||||
#endif
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# dmabuf-server-buffer
|
||||
qt_config_compile_test(dmabuf_server_buffer
|
||||
LABEL "Linux dma-buf Buffer Sharing"
|
||||
LIBRARIES
|
||||
EGL::EGL
|
||||
Libdrm::Libdrm
|
||||
CODE
|
||||
"
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
#ifdef EGL_LINUX_DMA_BUF_EXT
|
||||
return 0;
|
||||
#else
|
||||
#error Requires EGL_LINUX_DMA_BUF_EXT
|
||||
return 1;
|
||||
#endif
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# vulkan-server-buffer
|
||||
qt_config_compile_test(vulkan_server_buffer
|
||||
LABEL "Vulkan Buffer Sharing"
|
||||
CODE
|
||||
"#define VK_USE_PLATFORM_WAYLAND_KHR 1
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
VkExportMemoryAllocateInfoKHR exportAllocInfo = {};
|
||||
exportAllocInfo.sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR;
|
||||
exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
|
||||
return 0;
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# egl_1_5-wayland
|
||||
qt_config_compile_test(egl_1_5_wayland
|
||||
LABEL "EGL 1.5 with Wayland Platform"
|
||||
LIBRARIES
|
||||
EGL::EGL
|
||||
CODE
|
||||
"
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
#include <wayland-client.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
eglGetPlatformDisplay(EGL_PLATFORM_WAYLAND_EXT, (struct wl_display *)(nullptr), nullptr);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
|
||||
#### Features
|
||||
|
||||
qt_feature("wayland-client" PRIVATE
|
||||
LABEL "Qt Wayland Client"
|
||||
CONDITION NOT WIN32 AND Wayland_FOUND AND WaylandScanner_FOUND
|
||||
)
|
||||
qt_feature("wayland-server" PRIVATE
|
||||
LABEL "Qt Wayland Compositor"
|
||||
CONDITION NOT WIN32 AND Wayland_FOUND AND WaylandScanner_FOUND
|
||||
)
|
||||
qt_feature("wayland-egl" PRIVATE
|
||||
LABEL "EGL"
|
||||
CONDITION (QT_FEATURE_wayland_client OR QT_FEATURE_wayland_server)
|
||||
AND QT_FEATURE_opengl AND QT_FEATURE_egl
|
||||
AND (NOT QNX OR QT_FEATURE_egl_extension_platform_wayland)
|
||||
)
|
||||
qt_feature("wayland-brcm" PRIVATE
|
||||
LABEL "Raspberry Pi"
|
||||
CONDITION (QT_FEATURE_wayland_client OR QT_FEATURE_wayland_server) AND QT_FEATURE_eglfs_brcm
|
||||
)
|
||||
qt_feature("wayland-drm-egl-server-buffer" PRIVATE
|
||||
LABEL "DRM EGL"
|
||||
CONDITION (QT_FEATURE_wayland_client OR QT_FEATURE_wayland_server) AND QT_FEATURE_opengl
|
||||
AND QT_FEATURE_egl AND TEST_drm_egl_server
|
||||
AND (NOT QNX OR QT_FEATURE_egl_extension_platform_wayland)
|
||||
)
|
||||
qt_feature("wayland-libhybris-egl-server-buffer" PRIVATE
|
||||
LABEL "libhybris EGL"
|
||||
CONDITION (QT_FEATURE_wayland_client OR QT_FEATURE_wayland_server) AND QT_FEATURE_opengl
|
||||
AND QT_FEATURE_egl AND TEST_libhybris_egl_server
|
||||
)
|
||||
qt_feature("wayland-dmabuf-server-buffer" PRIVATE
|
||||
LABEL "Linux dma-buf server buffer integration"
|
||||
CONDITION (QT_FEATURE_wayland_client OR QT_FEATURE_wayland_server) AND QT_FEATURE_opengl
|
||||
AND QT_FEATURE_egl AND TEST_dmabuf_server_buffer
|
||||
)
|
||||
qt_feature("wayland-shm-emulation-server-buffer" PRIVATE
|
||||
LABEL "Shm emulation server buffer integration"
|
||||
CONDITION (QT_FEATURE_wayland_client OR QT_FEATURE_wayland_server) AND QT_FEATURE_opengl
|
||||
)
|
||||
qt_feature("wayland-vulkan-server-buffer" PRIVATE
|
||||
LABEL "Vulkan-based server buffer integration"
|
||||
CONDITION (QT_FEATURE_wayland_client OR QT_FEATURE_wayland_server) AND QT_FEATURE_vulkan
|
||||
AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_vulkan_server_buffer
|
||||
)
|
||||
qt_feature("wayland-datadevice" PRIVATE
|
||||
CONDITION QT_FEATURE_draganddrop OR QT_FEATURE_clipboard
|
||||
)
|
||||
qt_feature("xcomposite-egl" PRIVATE
|
||||
LABEL "XComposite EGL"
|
||||
CONDITION (QT_FEATURE_wayland_client OR QT_FEATURE_wayland_server)
|
||||
AND QT_FEATURE_opengl AND QT_FEATURE_egl AND QT_FEATURE_xlib
|
||||
AND XComposite_FOUND AND QT_FEATURE_egl_x11
|
||||
)
|
||||
qt_feature("xcomposite-glx" PRIVATE
|
||||
LABEL "XComposite GLX"
|
||||
CONDITION (QT_FEATURE_wayland_client OR QT_FEATURE_wayland_server)
|
||||
AND QT_FEATURE_opengl AND NOT QT_FEATURE_opengles2
|
||||
AND QT_FEATURE_xlib AND XComposite_FOUND
|
||||
)
|
||||
|
||||
qt_configure_add_summary_entry(ARGS "wayland-client")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-server")
|
||||
qt_configure_add_summary_section(NAME "Qt Wayland Drivers")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-egl")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-brcm")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-drm-egl-server-buffer")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-libhybris-egl-server-buffer")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-dmabuf-server-buffer")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-shm-emulation-server-buffer")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-vulkan-server-buffer")
|
||||
qt_configure_add_summary_entry(ARGS "xcomposite-egl")
|
||||
qt_configure_add_summary_entry(ARGS "xcomposite-glx")
|
||||
qt_configure_end_summary_section() # end of "Qt Wayland Drivers" section
|
@ -58,6 +58,7 @@ qt_internal_add_module(WaylandClient
|
||||
LIBRARIES
|
||||
Qt::CorePrivate
|
||||
Qt::GuiPrivate
|
||||
Qt::WaylandGlobalPrivate
|
||||
PUBLIC_LIBRARIES
|
||||
Qt::Core
|
||||
Qt::Gui
|
||||
@ -65,6 +66,7 @@ qt_internal_add_module(WaylandClient
|
||||
PRIVATE_MODULE_INTERFACE
|
||||
Qt::CorePrivate
|
||||
Qt::GuiPrivate
|
||||
Qt::WaylandGlobalPrivate
|
||||
)
|
||||
|
||||
qt6_generate_wayland_protocol_client_sources(WaylandClient
|
||||
|
@ -1,167 +1,15 @@
|
||||
|
||||
|
||||
#### Inputs
|
||||
|
||||
|
||||
|
||||
#### Libraries
|
||||
|
||||
if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
qt_find_package(Wayland PROVIDED_TARGETS Wayland::Client MODULE_NAME waylandclient QMAKE_LIB wayland-client)
|
||||
endif()
|
||||
if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
qt_find_package(Wayland PROVIDED_TARGETS Wayland::Cursor MODULE_NAME waylandclient QMAKE_LIB wayland-cursor)
|
||||
endif()
|
||||
qt_add_qmake_lib_dependency(wayland-cursor wayland-client)
|
||||
if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
qt_find_package(Wayland PROVIDED_TARGETS Wayland::Egl MODULE_NAME waylandclient QMAKE_LIB wayland-egl)
|
||||
endif()
|
||||
qt_find_package(XComposite PROVIDED_TARGETS PkgConfig::XComposite MODULE_NAME waylandclient QMAKE_LIB xcomposite)
|
||||
# special case begin
|
||||
# X11 is not a public dependency of QtGui anymore, so we need to find it manually in a shared build.
|
||||
# In a static build the dependency is still propagated, so check for the target existence to prevent
|
||||
# the 'Attempt to promote imported target "X11::X11" to global scope' issue.
|
||||
if(NOT TARGET X11::X11)
|
||||
qt_find_package(X11 PROVIDED_TARGETS X11::X11 MODULE_NAME gui QMAKE_LIB xlib)
|
||||
endif()
|
||||
# Same for XKB.
|
||||
if(NOT TARGET XKB::XKB)
|
||||
qt_find_package(XKB 0.5.0 PROVIDED_TARGETS XKB::XKB MODULE_NAME gui QMAKE_LIB xkbcommon MARK_OPTIONAL)
|
||||
endif()
|
||||
# special case end
|
||||
|
||||
#### Tests
|
||||
|
||||
# drm-egl-server
|
||||
qt_config_compile_test(drm_egl_server
|
||||
LABEL "DRM EGL Server"
|
||||
LIBRARIES
|
||||
EGL::EGL
|
||||
CODE
|
||||
"
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
#ifdef EGL_MESA_drm_image
|
||||
return 0;
|
||||
#else
|
||||
#error Requires EGL_MESA_drm_image to be defined
|
||||
return 1;
|
||||
#endif
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# libhybris-egl-server
|
||||
qt_config_compile_test(libhybris_egl_server
|
||||
LABEL "libhybris EGL Server"
|
||||
LIBRARIES
|
||||
EGL::EGL
|
||||
CODE
|
||||
"
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
#include <hybris/eglplatformcommon/hybris_nativebufferext.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
#ifdef EGL_HYBRIS_native_buffer
|
||||
return 0;
|
||||
#else
|
||||
#error Requires EGL_HYBRIS_native_buffer to be defined
|
||||
return 1;
|
||||
#endif
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# dmabuf-server-buffer
|
||||
qt_config_compile_test(dmabuf_server_buffer
|
||||
LABEL "Linux dma-buf Buffer Sharing"
|
||||
LIBRARIES
|
||||
EGL::EGL
|
||||
Libdrm::Libdrm
|
||||
CODE
|
||||
"
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
#ifdef EGL_LINUX_DMA_BUF_EXT
|
||||
return 0;
|
||||
#else
|
||||
#error Requires EGL_LINUX_DMA_BUF_EXT
|
||||
return 1;
|
||||
#endif
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# vulkan-server-buffer
|
||||
qt_config_compile_test(vulkan_server_buffer
|
||||
LABEL "Vulkan Buffer Sharing"
|
||||
CODE
|
||||
"#define VK_USE_PLATFORM_WAYLAND_KHR 1
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
VkExportMemoryAllocateInfoKHR exportAllocInfo = {};
|
||||
exportAllocInfo.sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR;
|
||||
exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
|
||||
return 0;
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# egl_1_5-wayland
|
||||
qt_config_compile_test(egl_1_5_wayland
|
||||
LABEL "EGL 1.5 with Wayland Platform"
|
||||
LIBRARIES
|
||||
EGL::EGL
|
||||
CODE
|
||||
"
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
#include <wayland-client.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc; (void)argv;
|
||||
/* BEGIN TEST: */
|
||||
eglGetPlatformDisplay(EGL_PLATFORM_WAYLAND_EXT, (struct wl_display *)(nullptr), nullptr);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
|
||||
|
||||
#### Features
|
||||
|
||||
qt_feature("wayland-client" PRIVATE
|
||||
LABEL "Qt Wayland Client"
|
||||
CONDITION NOT WIN32 AND Wayland_FOUND AND Wayland_FOUND AND WaylandScanner_FOUND
|
||||
)
|
||||
qt_feature("wayland-datadevice" PRIVATE
|
||||
CONDITION QT_FEATURE_draganddrop OR QT_FEATURE_clipboard
|
||||
)
|
||||
qt_feature("wayland-client-primary-selection" PRIVATE
|
||||
LABEL "primary-selection clipboard"
|
||||
CONDITION QT_FEATURE_clipboard
|
||||
@ -186,53 +34,6 @@ qt_feature("egl-extension-platform-wayland" PRIVATE
|
||||
LABEL "EGL wayland platform extension"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_egl_1_5_wayland
|
||||
)
|
||||
qt_feature("wayland-egl" PRIVATE
|
||||
LABEL "EGL"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND Wayland_FOUND AND ( NOT QNX OR QT_FEATURE_egl_extension_platform_wayland )
|
||||
)
|
||||
qt_feature("wayland-brcm" PRIVATE
|
||||
LABEL "Raspberry Pi"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_eglfs_brcm
|
||||
)
|
||||
qt_feature("xcomposite-egl" PRIVATE
|
||||
LABEL "XComposite EGL"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND QT_FEATURE_xlib AND XComposite_FOUND AND QT_FEATURE_egl_x11
|
||||
)
|
||||
qt_feature("xcomposite-glx" PRIVATE
|
||||
LABEL "XComposite GLX"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND NOT QT_FEATURE_opengles2 AND QT_FEATURE_xlib AND XComposite_FOUND
|
||||
)
|
||||
qt_feature("wayland-drm-egl-server-buffer" PRIVATE
|
||||
LABEL "DRM EGL"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_drm_egl_server AND ( NOT QNX OR QT_FEATURE_egl_extension_platform_wayland )
|
||||
)
|
||||
qt_feature("wayland-libhybris-egl-server-buffer" PRIVATE
|
||||
LABEL "libhybris EGL"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_libhybris_egl_server
|
||||
)
|
||||
qt_feature("wayland-dmabuf-server-buffer" PRIVATE
|
||||
LABEL "Linux dma-buf server buffer integration"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_dmabuf_server_buffer
|
||||
)
|
||||
qt_feature("wayland-vulkan-server-buffer" PRIVATE
|
||||
LABEL "Vulkan-based server buffer integration"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_vulkan AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_vulkan_server_buffer
|
||||
)
|
||||
qt_feature("wayland-shm-emulation-server-buffer" PRIVATE
|
||||
LABEL "Shm emulation server buffer integration"
|
||||
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl
|
||||
)
|
||||
qt_configure_add_summary_section(NAME "Qt Wayland Drivers")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-egl")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-brcm")
|
||||
qt_configure_add_summary_entry(ARGS "xcomposite-egl")
|
||||
qt_configure_add_summary_entry(ARGS "xcomposite-glx")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-drm-egl-server-buffer")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-libhybris-egl-server-buffer")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-dmabuf-server-buffer")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-vulkan-server-buffer")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-shm-emulation-server-buffer")
|
||||
qt_configure_end_summary_section() # end of "Qt Wayland Drivers" section
|
||||
qt_configure_add_summary_section(NAME "Qt Wayland Client Shell Integrations")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-client-xdg-shell")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-client-xdg-shell-v5")
|
||||
@ -240,4 +41,3 @@ qt_configure_add_summary_entry(ARGS "wayland-client-xdg-shell-v6")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-client-ivi-shell")
|
||||
qt_configure_add_summary_entry(ARGS "wayland-client-wl-shell")
|
||||
qt_configure_end_summary_section() # end of "Qt Wayland Client Shell Integrations" section
|
||||
qt_configure_add_summary_entry(ARGS "wayland-client")
|
||||
|
9
src/plugins/platforms/wayland/globalprivate/README
Normal file
9
src/plugins/platforms/wayland/globalprivate/README
Normal file
@ -0,0 +1,9 @@
|
||||
The WaylandGlobalPrivate module is a module that contains configure
|
||||
features, shared by the modules of the qtwayland repository.
|
||||
|
||||
The actual definition of this module is in src/CMakeLists.txt,
|
||||
because we need to have the qt_find_package calls in a directory scope
|
||||
above src/client and src/compositor.
|
||||
|
||||
This file here mostly exists to make the otherwise empty src/global
|
||||
directory known to git.
|
@ -51,9 +51,9 @@
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#include <QtWaylandGlobal/private/qtwaylandglobal-config_p.h>
|
||||
#include <QtWaylandClient/qtwaylandclientglobal.h>
|
||||
#include <QtGui/private/qtguiglobal_p.h>
|
||||
#include <QtWaylandClient/private/qtwaylandclient-config_p.h>
|
||||
|
||||
#endif //QWAYLANDCLIENTGLOBAL_P_H
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user