summaryrefslogtreecommitdiffstats
path: root/src/plugins/hardwareintegration
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/hardwareintegration')
-rw-r--r--src/plugins/hardwareintegration/CMakeLists.txt17
-rw-r--r--src/plugins/hardwareintegration/client/CMakeLists.txt26
-rw-r--r--src/plugins/hardwareintegration/client/brcm-egl/CMakeLists.txt35
-rw-r--r--src/plugins/hardwareintegration/client/brcm-egl/brcm-egl.pro12
-rw-r--r--src/plugins/hardwareintegration/client/brcm-egl/main.cpp40
-rw-r--r--src/plugins/hardwareintegration/client/client.pro22
-rw-r--r--src/plugins/hardwareintegration/client/dmabuf-server/CMakeLists.txt34
-rw-r--r--src/plugins/hardwareintegration/client/dmabuf-server/dmabuf-server.pro15
-rw-r--r--src/plugins/hardwareintegration/client/dmabuf-server/main.cpp40
-rw-r--r--src/plugins/hardwareintegration/client/drm-egl-server/CMakeLists.txt34
-rw-r--r--src/plugins/hardwareintegration/client/drm-egl-server/drm-egl-server.pro15
-rw-r--r--src/plugins/hardwareintegration/client/drm-egl-server/main.cpp40
-rw-r--r--src/plugins/hardwareintegration/client/libhybris-egl-server/CMakeLists.txt32
-rw-r--r--src/plugins/hardwareintegration/client/libhybris-egl-server/libhybris-egl-server.pro12
-rw-r--r--src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp40
-rw-r--r--src/plugins/hardwareintegration/client/shm-emulation-server/CMakeLists.txt33
-rw-r--r--src/plugins/hardwareintegration/client/shm-emulation-server/main.cpp40
-rw-r--r--src/plugins/hardwareintegration/client/shm-emulation-server/shm-emulation-server.pro15
-rw-r--r--src/plugins/hardwareintegration/client/vulkan-server/CMakeLists.txt33
-rw-r--r--src/plugins/hardwareintegration/client/vulkan-server/main.cpp40
-rw-r--r--src/plugins/hardwareintegration/client/vulkan-server/vulkan-server.pro15
-rw-r--r--src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt24
-rw-r--r--src/plugins/hardwareintegration/client/wayland-egl/main.cpp42
-rw-r--r--src/plugins/hardwareintegration/client/wayland-egl/wayland-egl.pro14
-rw-r--r--src/plugins/hardwareintegration/client/xcomposite-egl/main.cpp66
-rw-r--r--src/plugins/hardwareintegration/client/xcomposite-egl/xcomposite-egl.json3
-rw-r--r--src/plugins/hardwareintegration/client/xcomposite-egl/xcomposite-egl.pro15
-rw-r--r--src/plugins/hardwareintegration/client/xcomposite-glx/main.cpp66
-rw-r--r--src/plugins/hardwareintegration/client/xcomposite-glx/xcomposite-glx.json3
-rw-r--r--src/plugins/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pro12
-rw-r--r--src/plugins/hardwareintegration/compositor/CMakeLists.txt31
-rw-r--r--src/plugins/hardwareintegration/compositor/brcm-egl/CMakeLists.txt34
-rw-r--r--src/plugins/hardwareintegration/compositor/brcm-egl/brcm-egl.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/brcm-egl/main.cpp30
-rw-r--r--src/plugins/hardwareintegration/compositor/compositor.pro30
-rw-r--r--src/plugins/hardwareintegration/compositor/dmabuf-server/CMakeLists.txt34
-rw-r--r--src/plugins/hardwareintegration/compositor/dmabuf-server/dmabuf-server.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/dmabuf-server/main.cpp30
-rw-r--r--src/plugins/hardwareintegration/compositor/drm-egl-server/CMakeLists.txt33
-rw-r--r--src/plugins/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/drm-egl-server/main.cpp30
-rw-r--r--src/plugins/hardwareintegration/compositor/hardwarelayer/CMakeLists.txt8
-rw-r--r--src/plugins/hardwareintegration/compositor/hardwarelayer/hardwarelayer.pro5
-rw-r--r--src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/CMakeLists.txt29
-rw-r--r--src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/main.cpp30
-rw-r--r--src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/vsp2.pro16
-rw-r--r--src/plugins/hardwareintegration/compositor/libhybris-egl-server/CMakeLists.txt34
-rw-r--r--src/plugins/hardwareintegration/compositor/libhybris-egl-server/libhybris-egl-server.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/libhybris-egl-server/main.cpp30
-rw-r--r--src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/CMakeLists.txt35
-rw-r--r--src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linux-dmabuf-unstable-v1.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/main.cpp30
-rw-r--r--src/plugins/hardwareintegration/compositor/shm-emulation-server/CMakeLists.txt32
-rw-r--r--src/plugins/hardwareintegration/compositor/shm-emulation-server/main.cpp30
-rw-r--r--src/plugins/hardwareintegration/compositor/shm-emulation-server/shm-emulation-server.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/vulkan-server/CMakeLists.txt35
-rw-r--r--src/plugins/hardwareintegration/compositor/vulkan-server/main.cpp30
-rw-r--r--src/plugins/hardwareintegration/compositor/vulkan-server/vulkan-server.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt25
-rw-r--r--src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp32
-rw-r--r--src/plugins/hardwareintegration/compositor/wayland-egl/wayland-egl.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/CMakeLists.txt36
-rw-r--r--src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/main.cpp30
-rw-r--r--src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/wayland-eglstream-controller.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/xcomposite-egl/main.cpp52
-rw-r--r--src/plugins/hardwareintegration/compositor/xcomposite-egl/xcomposite-egl.json3
-rw-r--r--src/plugins/hardwareintegration/compositor/xcomposite-egl/xcomposite-egl.pro14
-rw-r--r--src/plugins/hardwareintegration/compositor/xcomposite-glx/main.cpp52
-rw-r--r--src/plugins/hardwareintegration/compositor/xcomposite-glx/xcomposite-glx.json3
-rw-r--r--src/plugins/hardwareintegration/compositor/xcomposite-glx/xcomposite-glx.pro14
-rw-r--r--src/plugins/hardwareintegration/hardwareintegration.pro4
71 files changed, 670 insertions, 1152 deletions
diff --git a/src/plugins/hardwareintegration/CMakeLists.txt b/src/plugins/hardwareintegration/CMakeLists.txt
new file mode 100644
index 000000000..472a4f909
--- /dev/null
+++ b/src/plugins/hardwareintegration/CMakeLists.txt
@@ -0,0 +1,17 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from hardwareintegration.pro.
+
+# When doing unity build, we get symbol collisions with macros defined
+# in X11.h, and Xlib.h
+set(CMAKE_UNITY_BUILD OFF)
+
+if(TARGET Qt::WaylandClient)
+ add_subdirectory(client)
+endif()
+if(TARGET Qt::WaylandCompositor)
+ add_subdirectory(compositor)
+endif()
+
+set(CMAKE_UNITY_BUILD ${QT_UNITY_BUILD})
diff --git a/src/plugins/hardwareintegration/client/CMakeLists.txt b/src/plugins/hardwareintegration/client/CMakeLists.txt
new file mode 100644
index 000000000..362697197
--- /dev/null
+++ b/src/plugins/hardwareintegration/client/CMakeLists.txt
@@ -0,0 +1,26 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from client.pro.
+
+if(QT_FEATURE_wayland_egl)
+ add_subdirectory(wayland-egl)
+endif()
+if(QT_FEATURE_wayland_brcm)
+ add_subdirectory(brcm-egl)
+endif()
+if(QT_FEATURE_wayland_drm_egl_server_buffer)
+ add_subdirectory(drm-egl-server)
+endif()
+if(QT_FEATURE_wayland_libhybris_egl_server_buffer)
+ add_subdirectory(libhybris-egl-server)
+endif()
+if(QT_FEATURE_wayland_shm_emulation_server_buffer)
+ add_subdirectory(shm-emulation-server)
+endif()
+if(QT_FEATURE_wayland_dmabuf_server_buffer)
+ add_subdirectory(dmabuf-server)
+endif()
+if(QT_FEATURE_wayland_vulkan_server_buffer)
+ add_subdirectory(vulkan-server)
+endif()
diff --git a/src/plugins/hardwareintegration/client/brcm-egl/CMakeLists.txt b/src/plugins/hardwareintegration/client/brcm-egl/CMakeLists.txt
new file mode 100644
index 000000000..90df10d8b
--- /dev/null
+++ b/src/plugins/hardwareintegration/client/brcm-egl/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from brcm-egl.pro.
+
+#####################################################################
+## QWaylandBrcmEglClientBufferPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(QWaylandBrcmEglClientBufferPlugin
+ OUTPUT_NAME brcm-egl
+ PLUGIN_TYPE wayland-graphics-integration-client
+ SOURCES
+ ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h
+ ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h
+ ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/client/brcm-egl
+ PUBLIC_LIBRARIES
+ ${CMAKE_DL_LIBS}
+ EGL::EGL
+ Qt::Core
+ Qt::Gui
+ Qt::WaylandClientPrivate
+ Wayland::Client
+)
+
+qt6_generate_wayland_protocol_client_sources(QWaylandBrcmEglClientBufferPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/brcm-egl/../../../extensions/brcm.xml
+)
+
+#### Keys ignored in scope 1:.:.:brcm-egl.pro:<TRUE>:
+# OTHER_FILES = "brcm-egl.json"
diff --git a/src/plugins/hardwareintegration/client/brcm-egl/brcm-egl.pro b/src/plugins/hardwareintegration/client/brcm-egl/brcm-egl.pro
deleted file mode 100644
index c2e9ad4ff..000000000
--- a/src/plugins/hardwareintegration/client/brcm-egl/brcm-egl.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-QT += waylandclient-private
-
-include(../../../../hardwareintegration/client/brcm-egl/brcm-egl.pri)
-
-OTHER_FILES += \
- brcm-egl.json
-
-SOURCES += main.cpp
-
-PLUGIN_TYPE = wayland-graphics-integration-client
-PLUGIN_CLASS_NAME = QWaylandBrcmEglClientBufferPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/client/brcm-egl/main.cpp b/src/plugins/hardwareintegration/client/brcm-egl/main.cpp
index 4f5a2ae3c..2df6fcc58 100644
--- a/src/plugins/hardwareintegration/client/brcm-egl/main.cpp
+++ b/src/plugins/hardwareintegration/client/brcm-egl/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <QtWaylandClient/private/qwaylandclientbufferintegrationplugin_p.h>
#include "qwaylandbrcmeglintegration.h"
diff --git a/src/plugins/hardwareintegration/client/client.pro b/src/plugins/hardwareintegration/client/client.pro
deleted file mode 100644
index 7b7e8a49a..000000000
--- a/src/plugins/hardwareintegration/client/client.pro
+++ /dev/null
@@ -1,22 +0,0 @@
-TEMPLATE=subdirs
-QT_FOR_CONFIG += waylandclient-private
-
-qtConfig(wayland-egl): \
- SUBDIRS += wayland-egl
-qtConfig(wayland-brcm): \
- SUBDIRS += brcm-egl
-qtConfig(xcomposite-egl): \
- SUBDIRS += xcomposite-egl
-qtConfig(xcomposite-glx): \
- SUBDIRS += xcomposite-glx
-
-qtConfig(wayland-drm-egl-server-buffer): \
- SUBDIRS += drm-egl-server
-qtConfig(wayland-libhybris-egl-server-buffer): \
- SUBDIRS += libhybris-egl-server
-qtConfig(wayland-shm-emulation-server-buffer): \
- SUBDIRS += shm-emulation-server
-qtConfig(wayland-dmabuf-server-buffer): \
- SUBDIRS += dmabuf-server
-qtConfig(wayland-vulkan-server-buffer): \
- SUBDIRS += vulkan-server
diff --git a/src/plugins/hardwareintegration/client/dmabuf-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/dmabuf-server/CMakeLists.txt
new file mode 100644
index 000000000..e20820e3b
--- /dev/null
+++ b/src/plugins/hardwareintegration/client/dmabuf-server/CMakeLists.txt
@@ -0,0 +1,34 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from dmabuf-server.pro.
+
+#####################################################################
+## DmaBufServerBufferPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(DmaBufServerBufferPlugin
+ OUTPUT_NAME dmabuf-server
+ PLUGIN_TYPE wayland-graphics-integration-client
+ SOURCES
+ ../../../../hardwareintegration/client/dmabuf-server/dmabufserverbufferintegration.cpp ../../../../hardwareintegration/client/dmabuf-server/dmabufserverbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/client/dmabuf-server
+ LIBRARIES
+ EGL::EGL
+ Qt::Core
+ Qt::Gui
+ Qt::OpenGL
+ Qt::WaylandClientPrivate
+ Wayland::Client
+)
+
+qt6_generate_wayland_protocol_client_sources(DmaBufServerBufferPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/dmabuf-server/../../../extensions/qt-dmabuf-server-buffer.xml
+)
+
+#### Keys ignored in scope 1:.:.:dmabuf-server.pro:<TRUE>:
+# OTHER_FILES = "dmabuf-server.json"
+# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual"
diff --git a/src/plugins/hardwareintegration/client/dmabuf-server/dmabuf-server.pro b/src/plugins/hardwareintegration/client/dmabuf-server/dmabuf-server.pro
deleted file mode 100644
index 5925c8b04..000000000
--- a/src/plugins/hardwareintegration/client/dmabuf-server/dmabuf-server.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-# We have a bunch of C code with casts, so we can't have this option
-QMAKE_CXXFLAGS_WARN_ON -= -Wcast-qual
-
-QT += waylandclient-private
-
-include(../../../../hardwareintegration/client/dmabuf-server/dmabuf-server.pri)
-
-OTHER_FILES += \
- dmabuf-server.json
-
-SOURCES += main.cpp
-
-PLUGIN_TYPE = wayland-graphics-integration-client
-PLUGIN_CLASS_NAME = DmaBufServerBufferPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/client/dmabuf-server/main.cpp b/src/plugins/hardwareintegration/client/dmabuf-server/main.cpp
index d4955d458..c1c122526 100644
--- a/src/plugins/hardwareintegration/client/dmabuf-server/main.cpp
+++ b/src/plugins/hardwareintegration/client/dmabuf-server/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <QtWaylandClient/private/qwaylandserverbufferintegrationplugin_p.h>
#include "dmabufserverbufferintegration.h"
diff --git a/src/plugins/hardwareintegration/client/drm-egl-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/drm-egl-server/CMakeLists.txt
new file mode 100644
index 000000000..124c72026
--- /dev/null
+++ b/src/plugins/hardwareintegration/client/drm-egl-server/CMakeLists.txt
@@ -0,0 +1,34 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from drm-egl-server.pro.
+
+#####################################################################
+## DrmEglServerBufferPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(DrmEglServerBufferPlugin
+ OUTPUT_NAME drm-egl-server
+ PLUGIN_TYPE wayland-graphics-integration-client
+ SOURCES
+ ../../../../hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.cpp ../../../../hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/client/drm-egl-server
+ LIBRARIES
+ EGL::EGL
+ Qt::Core
+ Qt::Gui
+ Qt::OpenGL
+ Qt::WaylandClientPrivate
+ Wayland::Client
+)
+
+qt6_generate_wayland_protocol_client_sources(DrmEglServerBufferPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/drm-egl-server/../../../extensions/drm-egl-server-buffer.xml
+)
+
+#### Keys ignored in scope 1:.:.:drm-egl-server.pro:<TRUE>:
+# OTHER_FILES = "drm-egl-server.json"
+# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual"
diff --git a/src/plugins/hardwareintegration/client/drm-egl-server/drm-egl-server.pro b/src/plugins/hardwareintegration/client/drm-egl-server/drm-egl-server.pro
deleted file mode 100644
index 2fba5bd1f..000000000
--- a/src/plugins/hardwareintegration/client/drm-egl-server/drm-egl-server.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-# We have a bunch of C code with casts, so we can't have this option
-QMAKE_CXXFLAGS_WARN_ON -= -Wcast-qual
-
-QT += waylandclient-private
-
-include(../../../../hardwareintegration/client/drm-egl-server/drm-egl-server.pri)
-
-OTHER_FILES += \
- drm-egl-server.json
-
-SOURCES += main.cpp
-
-PLUGIN_TYPE = wayland-graphics-integration-client
-PLUGIN_CLASS_NAME = DrmEglServerBufferPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/client/drm-egl-server/main.cpp b/src/plugins/hardwareintegration/client/drm-egl-server/main.cpp
index 70c9e300a..008d2ebd1 100644
--- a/src/plugins/hardwareintegration/client/drm-egl-server/main.cpp
+++ b/src/plugins/hardwareintegration/client/drm-egl-server/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <QtWaylandClient/private/qwaylandserverbufferintegrationplugin_p.h>
#include "drmeglserverbufferintegration.h"
diff --git a/src/plugins/hardwareintegration/client/libhybris-egl-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/libhybris-egl-server/CMakeLists.txt
new file mode 100644
index 000000000..6bf74c146
--- /dev/null
+++ b/src/plugins/hardwareintegration/client/libhybris-egl-server/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from libhybris-egl-server.pro.
+
+#####################################################################
+## LibHybrisEglServerBufferPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(LibHybrisEglServerBufferPlugin
+ OUTPUT_NAME libhybris-egl-server
+ PLUGIN_TYPE wayland-graphics-integration-client
+ SOURCES
+ ../../../../hardwareintegration/client/libhybris-egl-server/libhybriseglserverbufferintegration.cpp ../../../../hardwareintegration/client/libhybris-egl-server/libhybriseglserverbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/client/libhybris-egl-server
+ PUBLIC_LIBRARIES
+ EGL::EGL
+ Qt::Core
+ Qt::Gui
+ Qt::WaylandClientPrivate
+ Wayland::Client
+)
+
+qt6_generate_wayland_protocol_client_sources(LibHybrisEglServerBufferPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/libhybris-egl-server/../../../extensions/libhybris-egl-server-buffer.xml
+)
+
+#### Keys ignored in scope 1:.:.:libhybris-egl-server.pro:<TRUE>:
+# OTHER_FILES = "libhybris-egl-server.json"
diff --git a/src/plugins/hardwareintegration/client/libhybris-egl-server/libhybris-egl-server.pro b/src/plugins/hardwareintegration/client/libhybris-egl-server/libhybris-egl-server.pro
deleted file mode 100644
index 3193b8f68..000000000
--- a/src/plugins/hardwareintegration/client/libhybris-egl-server/libhybris-egl-server.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-QT += waylandclient-private
-
-include(../../../../hardwareintegration/client/libhybris-egl-server/libhybris-egl-server.pri)
-
-OTHER_FILES += \
- libhybris-egl-server.json
-
-SOURCES += main.cpp
-
-PLUGIN_TYPE = wayland-graphics-integration-client
-PLUGIN_CLASS_NAME = LibHybrisEglServerBufferPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp b/src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp
index 417597c36..fa36e1a1d 100644
--- a/src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp
+++ b/src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Jolla Ltd, author: <giulio.camuffo@jollamobile.com>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Jolla Ltd, author: <giulio.camuffo@jollamobile.com>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <QtWaylandClient/private/qwaylandserverbufferintegrationplugin_p.h>
#include "libhybriseglserverbufferintegration.h"
diff --git a/src/plugins/hardwareintegration/client/shm-emulation-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/shm-emulation-server/CMakeLists.txt
new file mode 100644
index 000000000..81ff77bab
--- /dev/null
+++ b/src/plugins/hardwareintegration/client/shm-emulation-server/CMakeLists.txt
@@ -0,0 +1,33 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from shm-emulation-server.pro.
+
+#####################################################################
+## ShmServerBufferPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(ShmServerBufferPlugin
+ OUTPUT_NAME shm-emulation-server
+ PLUGIN_TYPE wayland-graphics-integration-client
+ SOURCES
+ ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.cpp ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/client/shm-emulation-server
+ LIBRARIES
+ Qt::Core
+ Qt::Gui
+ Qt::OpenGL
+ Qt::WaylandClientPrivate
+ Wayland::Client
+)
+
+qt6_generate_wayland_protocol_client_sources(ShmServerBufferPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/shm-emulation-server/../../../extensions/shm-emulation-server-buffer.xml
+)
+
+#### Keys ignored in scope 1:.:.:shm-emulation-server.pro:<TRUE>:
+# OTHER_FILES = "shm-emulation-server.json"
+# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual"
diff --git a/src/plugins/hardwareintegration/client/shm-emulation-server/main.cpp b/src/plugins/hardwareintegration/client/shm-emulation-server/main.cpp
index 8c3ba8420..89673e846 100644
--- a/src/plugins/hardwareintegration/client/shm-emulation-server/main.cpp
+++ b/src/plugins/hardwareintegration/client/shm-emulation-server/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <QtWaylandClient/private/qwaylandserverbufferintegrationplugin_p.h>
#include "shmserverbufferintegration.h"
diff --git a/src/plugins/hardwareintegration/client/shm-emulation-server/shm-emulation-server.pro b/src/plugins/hardwareintegration/client/shm-emulation-server/shm-emulation-server.pro
deleted file mode 100644
index 8b1c6e5f2..000000000
--- a/src/plugins/hardwareintegration/client/shm-emulation-server/shm-emulation-server.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-# We have a bunch of C code with casts, so we can't have this option
-QMAKE_CXXFLAGS_WARN_ON -= -Wcast-qual
-
-QT += waylandclient-private
-
-include(../../../../hardwareintegration/client/shm-emulation-server/shm-emulation-server.pri)
-
-OTHER_FILES += \
- shm-emulation-server.json
-
-SOURCES += main.cpp
-
-PLUGIN_TYPE = wayland-graphics-integration-client
-PLUGIN_CLASS_NAME = ShmServerBufferPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/client/vulkan-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/vulkan-server/CMakeLists.txt
new file mode 100644
index 000000000..825b85adb
--- /dev/null
+++ b/src/plugins/hardwareintegration/client/vulkan-server/CMakeLists.txt
@@ -0,0 +1,33 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from vulkan-server.pro.
+
+#####################################################################
+## VulkanServerBufferPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(VulkanServerBufferPlugin
+ OUTPUT_NAME vulkan-server
+ PLUGIN_TYPE wayland-graphics-integration-client
+ SOURCES
+ ../../../../hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp ../../../../hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/client/vulkan-server
+ LIBRARIES
+ Qt::Core
+ Qt::Gui
+ Qt::OpenGL
+ Qt::WaylandClientPrivate
+ Wayland::Client
+)
+
+qt6_generate_wayland_protocol_client_sources(VulkanServerBufferPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/vulkan-server/../../../extensions/qt-vulkan-server-buffer-unstable-v1.xml
+)
+
+#### Keys ignored in scope 1:.:.:vulkan-server.pro:<TRUE>:
+# OTHER_FILES = "vulkan-server.json"
+# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual"
diff --git a/src/plugins/hardwareintegration/client/vulkan-server/main.cpp b/src/plugins/hardwareintegration/client/vulkan-server/main.cpp
index b8f64bf22..0490707e0 100644
--- a/src/plugins/hardwareintegration/client/vulkan-server/main.cpp
+++ b/src/plugins/hardwareintegration/client/vulkan-server/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <QtWaylandClient/private/qwaylandserverbufferintegrationplugin_p.h>
#include "vulkanserverbufferintegration.h"
diff --git a/src/plugins/hardwareintegration/client/vulkan-server/vulkan-server.pro b/src/plugins/hardwareintegration/client/vulkan-server/vulkan-server.pro
deleted file mode 100644
index 1be60f7c1..000000000
--- a/src/plugins/hardwareintegration/client/vulkan-server/vulkan-server.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-# We have a bunch of C code with casts, so we can't have this option
-QMAKE_CXXFLAGS_WARN_ON -= -Wcast-qual
-
-QT += waylandclient-private
-
-include(../../../../hardwareintegration/client/vulkan-server/vulkan-server.pri)
-
-OTHER_FILES += \
- vulkan-server.json
-
-SOURCES += main.cpp
-
-PLUGIN_TYPE = wayland-graphics-integration-client
-PLUGIN_CLASS_NAME = VulkanServerBufferPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt b/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt
new file mode 100644
index 000000000..61ee4ea9f
--- /dev/null
+++ b/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt
@@ -0,0 +1,24 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from wayland-egl.pro.
+
+#####################################################################
+## QWaylandEglClientBufferPlugin Plugin:
+#####################################################################
+qt_find_package(EGL) # special case
+
+qt_internal_add_plugin(QWaylandEglClientBufferPlugin
+ OUTPUT_NAME qt-plugin-wayland-egl
+ PLUGIN_TYPE wayland-graphics-integration-client
+ SOURCES
+ main.cpp
+ LIBRARIES
+ Qt::Core
+ Qt::Gui
+ Qt::WaylandClientPrivate
+ Qt::WaylandEglClientHwIntegrationPrivate
+)
+
+#### Keys ignored in scope 1:.:.:wayland-egl.pro:<TRUE>:
+# OTHER_FILES = "wayland-egl.json"
diff --git a/src/plugins/hardwareintegration/client/wayland-egl/main.cpp b/src/plugins/hardwareintegration/client/wayland-egl/main.cpp
index 089063553..9d4fd95ed 100644
--- a/src/plugins/hardwareintegration/client/wayland-egl/main.cpp
+++ b/src/plugins/hardwareintegration/client/wayland-egl/main.cpp
@@ -1,44 +1,8 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <QtWaylandClient/private/qwaylandclientbufferintegrationplugin_p.h>
-#include "qwaylandeglclientbufferintegration.h"
+#include <QtWaylandEglClientHwIntegration/private/qwaylandeglclientbufferintegration_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/hardwareintegration/client/wayland-egl/wayland-egl.pro b/src/plugins/hardwareintegration/client/wayland-egl/wayland-egl.pro
deleted file mode 100644
index 409cd37d7..000000000
--- a/src/plugins/hardwareintegration/client/wayland-egl/wayland-egl.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT += waylandclient-private
-
-include(../../../../hardwareintegration/client/wayland-egl/wayland-egl.pri)
-
-OTHER_FILES += \
- wayland-egl.json
-
-SOURCES += main.cpp
-
-TARGET = qt-plugin-wayland-egl
-
-PLUGIN_TYPE = wayland-graphics-integration-client
-PLUGIN_CLASS_NAME = QWaylandEglClientBufferPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/client/xcomposite-egl/main.cpp b/src/plugins/hardwareintegration/client/xcomposite-egl/main.cpp
deleted file mode 100644
index 585285fae..000000000
--- a/src/plugins/hardwareintegration/client/xcomposite-egl/main.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWaylandClient/private/qwaylandclientbufferintegrationplugin_p.h>
-#include "qwaylandxcompositeeglclientbufferintegration.h"
-
-QT_BEGIN_NAMESPACE
-
-namespace QtWaylandClient {
-
-class QWaylandXCompositeEglClientBufferPlugin : public QWaylandClientBufferIntegrationPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QWaylandClientBufferIntegrationFactoryInterface_iid FILE "xcomposite-egl.json")
-public:
- QWaylandClientBufferIntegration *create(const QString&, const QStringList&) override;
-};
-
-QWaylandClientBufferIntegration *QWaylandXCompositeEglClientBufferPlugin::create(const QString& system, const QStringList& paramList)
-{
- Q_UNUSED(paramList);
- Q_UNUSED(system);
- return new QWaylandXCompositeEGLClientBufferIntegration();
-}
-
-}
-
-QT_END_NAMESPACE
-
-#include "main.moc"
diff --git a/src/plugins/hardwareintegration/client/xcomposite-egl/xcomposite-egl.json b/src/plugins/hardwareintegration/client/xcomposite-egl/xcomposite-egl.json
deleted file mode 100644
index 0d119ff85..000000000
--- a/src/plugins/hardwareintegration/client/xcomposite-egl/xcomposite-egl.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "Keys": [ "xcomposite-egl" ]
-}
diff --git a/src/plugins/hardwareintegration/client/xcomposite-egl/xcomposite-egl.pro b/src/plugins/hardwareintegration/client/xcomposite-egl/xcomposite-egl.pro
deleted file mode 100644
index 83bd4fe8d..000000000
--- a/src/plugins/hardwareintegration/client/xcomposite-egl/xcomposite-egl.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-# We have a bunch of C code with casts, so we can't have this option
-QMAKE_CXXFLAGS_WARN_ON -= -Wcast-qual
-
-QT += waylandclient-private
-
-include(../../../../hardwareintegration/client/xcomposite-egl/xcomposite-egl.pri)
-
-OTHER_FILES += xcomposite-egl.json
-
-SOURCES += \
- main.cpp
-
-PLUGIN_TYPE = wayland-graphics-integration-client
-PLUGIN_CLASS_NAME = QWaylandXCompositeEglClientBufferPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/client/xcomposite-glx/main.cpp b/src/plugins/hardwareintegration/client/xcomposite-glx/main.cpp
deleted file mode 100644
index f7b878d96..000000000
--- a/src/plugins/hardwareintegration/client/xcomposite-glx/main.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWaylandClient/private/qwaylandclientbufferintegrationplugin_p.h>
-#include "qwaylandxcompositeglxintegration.h"
-
-QT_BEGIN_NAMESPACE
-
-namespace QtWaylandClient {
-
-class QWaylandXCompositeGlxClientBufferPlugin : public QWaylandClientBufferIntegrationPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QWaylandClientBufferIntegrationFactoryInterface_iid FILE "xcomposite-glx.json")
-public:
- QWaylandClientBufferIntegration *create(const QString&, const QStringList&) override;
-};
-
-QWaylandClientBufferIntegration *QWaylandXCompositeGlxClientBufferPlugin::create(const QString& system, const QStringList& paramList)
-{
- Q_UNUSED(paramList);
- Q_UNUSED(system);
- return new QWaylandXCompositeGLXIntegration();
-}
-
-}
-
-QT_END_NAMESPACE
-
-#include "main.moc"
diff --git a/src/plugins/hardwareintegration/client/xcomposite-glx/xcomposite-glx.json b/src/plugins/hardwareintegration/client/xcomposite-glx/xcomposite-glx.json
deleted file mode 100644
index e2c4cecd6..000000000
--- a/src/plugins/hardwareintegration/client/xcomposite-glx/xcomposite-glx.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "Keys": [ "xcomposite-glx" ]
-}
diff --git a/src/plugins/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pro b/src/plugins/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pro
deleted file mode 100644
index 804ca3861..000000000
--- a/src/plugins/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-QT += waylandclient-private
-
-include(../../../../hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri)
-
-OTHER_FILES += xcomposite-glx.json
-
-SOURCES += \
- main.cpp
-
-PLUGIN_TYPE = wayland-graphics-integration-client
-PLUGIN_CLASS_NAME = QWaylandXCompositeGlxClientBufferPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/CMakeLists.txt
new file mode 100644
index 000000000..8b281f881
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/CMakeLists.txt
@@ -0,0 +1,31 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from compositor.pro.
+
+add_subdirectory(hardwarelayer)
+if(QT_FEATURE_wayland_dmabuf_client_buffer)
+ add_subdirectory(linux-dmabuf-unstable-v1)
+endif()
+if(QT_FEATURE_wayland_egl)
+ add_subdirectory(wayland-egl)
+ add_subdirectory(wayland-eglstream-controller)
+endif()
+if(QT_FEATURE_wayland_brcm)
+ add_subdirectory(brcm-egl)
+endif()
+if(QT_FEATURE_wayland_drm_egl_server_buffer)
+ add_subdirectory(drm-egl-server)
+endif()
+if(QT_FEATURE_wayland_libhybris_egl_server_buffer)
+ add_subdirectory(libhybris-egl-server)
+endif()
+if(QT_FEATURE_wayland_shm_emulation_server_buffer)
+ add_subdirectory(shm-emulation-server)
+endif()
+if(QT_FEATURE_wayland_dmabuf_server_buffer)
+ add_subdirectory(dmabuf-server)
+endif()
+if(QT_FEATURE_wayland_vulkan_server_buffer)
+ add_subdirectory(vulkan-server)
+endif()
diff --git a/src/plugins/hardwareintegration/compositor/brcm-egl/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/brcm-egl/CMakeLists.txt
new file mode 100644
index 000000000..3f0e1d14d
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/brcm-egl/CMakeLists.txt
@@ -0,0 +1,34 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from brcm-egl.pro.
+
+#####################################################################
+## QWaylandBrcmClientBufferIntegrationPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(QWaylandBrcmClientBufferIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-brcm-egl
+ PLUGIN_TYPE wayland-graphics-integration-server
+ SOURCES
+ ../../../../hardwareintegration/compositor/brcm-egl/brcmbuffer.cpp ../../../../hardwareintegration/compositor/brcm-egl/brcmbuffer.h
+ ../../../../hardwareintegration/compositor/brcm-egl/brcmeglintegration.cpp ../../../../hardwareintegration/compositor/brcm-egl/brcmeglintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/compositor/brcm-egl
+ LIBRARIES
+ Wayland::Server
+ PUBLIC_LIBRARIES
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+)
+
+qt6_generate_wayland_protocol_server_sources(QWaylandBrcmClientBufferIntegrationPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/brcm-egl/../../../extensions/brcm.xml
+)
+
+#### Keys ignored in scope 1:.:.:brcm-egl.pro:<TRUE>:
+# OTHER_FILES = "brcm-egl.json"
diff --git a/src/plugins/hardwareintegration/compositor/brcm-egl/brcm-egl.pro b/src/plugins/hardwareintegration/compositor/brcm-egl/brcm-egl.pro
deleted file mode 100644
index c89ecec00..000000000
--- a/src/plugins/hardwareintegration/compositor/brcm-egl/brcm-egl.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += brcm-egl.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-brcm-egl
-
-include(../../../../hardwareintegration/compositor/brcm-egl/brcm-egl.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = QWaylandBrcmClientBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/brcm-egl/main.cpp b/src/plugins/hardwareintegration/compositor/brcm-egl/main.cpp
index 8792c36f6..320bb8ebb 100644
--- a/src/plugins/hardwareintegration/compositor/brcm-egl/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/brcm-egl/main.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlclientbufferintegrationplugin_p.h>
#include "brcmeglintegration.h"
diff --git a/src/plugins/hardwareintegration/compositor/compositor.pro b/src/plugins/hardwareintegration/compositor/compositor.pro
deleted file mode 100644
index 32edf1f15..000000000
--- a/src/plugins/hardwareintegration/compositor/compositor.pro
+++ /dev/null
@@ -1,30 +0,0 @@
-TEMPLATE = subdirs
-QT_FOR_CONFIG += waylandcompositor-private
-
-qtConfig(wayland-dmabuf-client-buffer): \
- SUBDIRS += linux-dmabuf-unstable-v1
-qtConfig(wayland-egl): \
- SUBDIRS += wayland-egl
-qtConfig(wayland-brcm): \
- SUBDIRS += brcm-egl
-qtConfig(xcomposite-egl): \
- SUBDIRS += xcomposite-egl
-qtConfig(xcomposite-glx): \
- SUBDIRS += xcomposite-glx
-
-qtConfig(wayland-drm-egl-server-buffer): \
- SUBDIRS += drm-egl-server
-qtConfig(wayland-libhybris-egl-server-buffer): \
- SUBDIRS += libhybris-egl-server
-qtConfig(wayland-shm-emulation-server-buffer): \
- SUBDIRS += shm-emulation-server
-qtConfig(wayland-dmabuf-server-buffer): \
- SUBDIRS += dmabuf-server
-qtConfig(wayland-vulkan-server-buffer): \
- SUBDIRS += vulkan-server
-
-qtConfig(wayland-egl): \
- SUBDIRS += wayland-eglstream-controller
-
-
-SUBDIRS += hardwarelayer
diff --git a/src/plugins/hardwareintegration/compositor/dmabuf-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/dmabuf-server/CMakeLists.txt
new file mode 100644
index 000000000..a6b48e998
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/dmabuf-server/CMakeLists.txt
@@ -0,0 +1,34 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from dmabuf-server.pro.
+
+#####################################################################
+## DmaBufServerBufferIntegrationPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(DmaBufServerBufferIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-dmabuf-server-buffer
+ PLUGIN_TYPE wayland-graphics-integration-server
+ SOURCES
+ ../../../../hardwareintegration/compositor/dmabuf-server/dmabufserverbufferintegration.cpp ../../../../hardwareintegration/compositor/dmabuf-server/dmabufserverbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/compositor/dmabuf-server
+ LIBRARIES
+ EGL::EGL
+ Libdrm::Libdrm
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+ Wayland::Server
+)
+
+qt6_generate_wayland_protocol_server_sources(DmaBufServerBufferIntegrationPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/dmabuf-server/../../../extensions/qt-dmabuf-server-buffer.xml
+)
+
+#### Keys ignored in scope 1:.:.:dmabuf-server.pro:<TRUE>:
+# OTHER_FILES = "dmabuf-server.json"
diff --git a/src/plugins/hardwareintegration/compositor/dmabuf-server/dmabuf-server.pro b/src/plugins/hardwareintegration/compositor/dmabuf-server/dmabuf-server.pro
deleted file mode 100644
index d96e58135..000000000
--- a/src/plugins/hardwareintegration/compositor/dmabuf-server/dmabuf-server.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += dmabuf-server.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-dmabuf-server-buffer
-
-include(../../../../hardwareintegration/compositor/dmabuf-server/dmabuf-server.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = DmaBufServerBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/dmabuf-server/main.cpp b/src/plugins/hardwareintegration/compositor/dmabuf-server/main.cpp
index 57ca389dd..be2755419 100644
--- a/src/plugins/hardwareintegration/compositor/dmabuf-server/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/dmabuf-server/main.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlserverbufferintegrationplugin_p.h>
#include "dmabufserverbufferintegration.h"
diff --git a/src/plugins/hardwareintegration/compositor/drm-egl-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/drm-egl-server/CMakeLists.txt
new file mode 100644
index 000000000..7dcd92ec8
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/drm-egl-server/CMakeLists.txt
@@ -0,0 +1,33 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from drm-egl-server.pro.
+
+#####################################################################
+## DrmEglServerBufferIntegrationPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(DrmEglServerBufferIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-drm-egl-server-buffer
+ PLUGIN_TYPE wayland-graphics-integration-server
+ SOURCES
+ ../../../../hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp ../../../../hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/compositor/drm-egl-server
+ LIBRARIES
+ EGL::EGL
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+ Wayland::Server
+)
+
+qt6_generate_wayland_protocol_server_sources(DrmEglServerBufferIntegrationPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/drm-egl-server/../../../extensions/drm-egl-server-buffer.xml
+)
+
+#### Keys ignored in scope 1:.:.:drm-egl-server.pro:<TRUE>:
+# OTHER_FILES = "drm-egl-server.json"
diff --git a/src/plugins/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pro b/src/plugins/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pro
deleted file mode 100644
index 2ba17c388..000000000
--- a/src/plugins/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += drm-egl-server.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-drm-egl-server-buffer
-
-include(../../../../hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = DrmEglServerBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/drm-egl-server/main.cpp b/src/plugins/hardwareintegration/compositor/drm-egl-server/main.cpp
index c283b313b..67c65901b 100644
--- a/src/plugins/hardwareintegration/compositor/drm-egl-server/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/drm-egl-server/main.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlserverbufferintegrationplugin_p.h>
#include "drmeglserverbufferintegration.h"
diff --git a/src/plugins/hardwareintegration/compositor/hardwarelayer/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/hardwarelayer/CMakeLists.txt
new file mode 100644
index 000000000..a5deccdb7
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/hardwarelayer/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from hardwarelayer.pro.
+
+if(QT_FEATURE_wayland_layer_integration_vsp2)
+ add_subdirectory(vsp2)
+endif()
diff --git a/src/plugins/hardwareintegration/compositor/hardwarelayer/hardwarelayer.pro b/src/plugins/hardwareintegration/compositor/hardwarelayer/hardwarelayer.pro
deleted file mode 100644
index 634447af7..000000000
--- a/src/plugins/hardwareintegration/compositor/hardwarelayer/hardwarelayer.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-TEMPLATE = subdirs
-QT_FOR_CONFIG += waylandcompositor-private
-
-qtConfig(wayland-layer-integration-vsp2): \
- SUBDIRS += vsp2
diff --git a/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/CMakeLists.txt
new file mode 100644
index 000000000..27adac5fc
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/CMakeLists.txt
@@ -0,0 +1,29 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from vsp2.pro.
+
+#####################################################################
+## Vsp2HardwareLayerIntegrationPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(Vsp2HardwareLayerIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-vsp2
+ PLUGIN_TYPE wayland-hardware-layer-integration
+ SOURCES
+ ../../../../../hardwareintegration/compositor/hardwarelayer/vsp2/vsp2hardwarelayerintegration.cpp ../../../../../hardwareintegration/compositor/hardwarelayer/vsp2/vsp2hardwarelayerintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../../hardwareintegration/compositor/hardwarelayer/vsp2
+ LIBRARIES
+ PkgConfig::Waylandkms
+ Wayland::Server
+ PUBLIC_LIBRARIES
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+)
+
+#### Keys ignored in scope 1:.:.:vsp2.pro:<TRUE>:
+# OTHER_FILES = "vsp2.json"
diff --git a/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/main.cpp b/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/main.cpp
index 15cc070b6..5e1739b67 100644
--- a/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/main.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlhardwarelayerintegrationplugin_p.h>
#include "vsp2hardwarelayerintegration.h"
diff --git a/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/vsp2.pro b/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/vsp2.pro
deleted file mode 100644
index c18884a96..000000000
--- a/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/vsp2.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-QMAKE_USE_PRIVATE += wayland-kms
-
-OTHER_FILES += vsp2.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-vsp2
-
-include(../../../../../hardwareintegration/compositor/hardwarelayer/vsp2/vsp2.pri)
-
-PLUGIN_TYPE = wayland-hardware-layer-integration
-PLUGIN_CLASS_NAME = Vsp2HardwareLayerIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/libhybris-egl-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/libhybris-egl-server/CMakeLists.txt
new file mode 100644
index 000000000..cbd5e3740
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/libhybris-egl-server/CMakeLists.txt
@@ -0,0 +1,34 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from libhybris-egl-server.pro.
+
+#####################################################################
+## LibHybrisEglServerBufferIntegrationPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(LibHybrisEglServerBufferIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-libybris-egl-server.json
+ PLUGIN_TYPE wayland-graphics-integration-server
+ SOURCES
+ ../../../../hardwareintegration/compositor/libhybris-egl-server/libhybriseglserverbufferintegration.cpp ../../../../hardwareintegration/compositor/libhybris-egl-server/libhybriseglserverbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/compositor/libhybris-egl-server
+ LIBRARIES
+ EGL::EGL
+ Wayland::Server
+ PUBLIC_LIBRARIES
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+)
+
+qt6_generate_wayland_protocol_server_sources(LibHybrisEglServerBufferIntegrationPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/libhybris-egl-server/../../../extensions/libhybris-egl-server-buffer.xml
+)
+
+#### Keys ignored in scope 1:.:.:libhybris-egl-server.pro:<TRUE>:
+# OTHER_FILES = "libhybris-egl-server.json"
diff --git a/src/plugins/hardwareintegration/compositor/libhybris-egl-server/libhybris-egl-server.pro b/src/plugins/hardwareintegration/compositor/libhybris-egl-server/libhybris-egl-server.pro
deleted file mode 100644
index c9c3a0daf..000000000
--- a/src/plugins/hardwareintegration/compositor/libhybris-egl-server/libhybris-egl-server.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += libhybris-egl-server.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-libybris-egl-server.json
-
-include(../../../../hardwareintegration/compositor/libhybris-egl-server/libhybris-egl-server.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = LibHybrisEglServerBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/libhybris-egl-server/main.cpp b/src/plugins/hardwareintegration/compositor/libhybris-egl-server/main.cpp
index da015ed95..5c7ef164f 100644
--- a/src/plugins/hardwareintegration/compositor/libhybris-egl-server/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/libhybris-egl-server/main.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Jolla Ltd, author: <giulio.camuffo@jollamobile.com>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Jolla Ltd, author: <giulio.camuffo@jollamobile.com>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlserverbufferintegrationplugin_p.h>
#include <QtWaylandCompositor/private/qwlserverbufferintegration_p.h>
diff --git a/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/CMakeLists.txt
new file mode 100644
index 000000000..f6141b79e
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from linux-dmabuf-unstable-v1.pro.
+
+#####################################################################
+## QWaylandDmabufClientBufferIntegrationPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(QWaylandDmabufClientBufferIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-linux-dmabuf-unstable-v1
+ PLUGIN_TYPE wayland-graphics-integration-server
+ SOURCES
+ ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.cpp ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
+ ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabufclientbufferintegration.cpp ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabufclientbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1
+ LIBRARIES
+ EGL::EGL
+ Libdrm::Libdrm
+ Wayland::Server
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+)
+
+qt6_generate_wayland_protocol_server_sources(QWaylandDmabufClientBufferIntegrationPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/../../../3rdparty/protocol/linux-dmabuf-unstable-v1.xml
+)
+
+#### Keys ignored in scope 1:.:.:linux-dmabuf-unstable-v1.pro:<TRUE>:
+# OTHER_FILES = "linux-dmabuf.json"
diff --git a/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linux-dmabuf-unstable-v1.pro b/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linux-dmabuf-unstable-v1.pro
deleted file mode 100644
index 1f76f9f00..000000000
--- a/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linux-dmabuf-unstable-v1.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += linux-dmabuf.json
-
-SOURCES += \
- main.cpp \
-
-TARGET = qt-wayland-compositor-linux-dmabuf-unstable-v1
-
-include(../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/linux-dmabuf-unstable-v1.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = QWaylandDmabufClientBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/main.cpp b/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/main.cpp
index a12ebff02..aa19438df 100644
--- a/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/main.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlclientbufferintegrationfactory_p.h>
#include <QtWaylandCompositor/private/qwlclientbufferintegrationplugin_p.h>
diff --git a/src/plugins/hardwareintegration/compositor/shm-emulation-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/shm-emulation-server/CMakeLists.txt
new file mode 100644
index 000000000..e893102ad
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/shm-emulation-server/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from shm-emulation-server.pro.
+
+#####################################################################
+## ShmServerBufferIntegrationPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(ShmServerBufferIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-shm-emulation-server
+ PLUGIN_TYPE wayland-graphics-integration-server
+ SOURCES
+ ../../../../hardwareintegration/compositor/shm-emulation-server/shmserverbufferintegration.cpp ../../../../hardwareintegration/compositor/shm-emulation-server/shmserverbufferintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/compositor/shm-emulation-server
+ LIBRARIES
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+ Wayland::Server
+)
+
+qt6_generate_wayland_protocol_server_sources(ShmServerBufferIntegrationPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/shm-emulation-server/../../../extensions/shm-emulation-server-buffer.xml
+)
+
+#### Keys ignored in scope 1:.:.:shm-emulation-server.pro:<TRUE>:
+# OTHER_FILES = "shm-emulation-server.json"
diff --git a/src/plugins/hardwareintegration/compositor/shm-emulation-server/main.cpp b/src/plugins/hardwareintegration/compositor/shm-emulation-server/main.cpp
index df3d2ed83..266624618 100644
--- a/src/plugins/hardwareintegration/compositor/shm-emulation-server/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/shm-emulation-server/main.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlserverbufferintegrationplugin_p.h>
#include "shmserverbufferintegration.h"
diff --git a/src/plugins/hardwareintegration/compositor/shm-emulation-server/shm-emulation-server.pro b/src/plugins/hardwareintegration/compositor/shm-emulation-server/shm-emulation-server.pro
deleted file mode 100644
index 865af1a7d..000000000
--- a/src/plugins/hardwareintegration/compositor/shm-emulation-server/shm-emulation-server.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += shm-emulation-server.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-shm-emulation-server
-
-include(../../../../hardwareintegration/compositor/shm-emulation-server/shm-emulation-server.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = ShmServerBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/vulkan-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/vulkan-server/CMakeLists.txt
new file mode 100644
index 000000000..123ec8528
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/vulkan-server/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from vulkan-server.pro.
+
+#####################################################################
+## VulkanServerBufferIntegrationPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(VulkanServerBufferIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-vulkan-server
+ PLUGIN_TYPE wayland-graphics-integration-server
+ SOURCES
+ ../../../../hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp ../../../../hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.h
+ ../../../../hardwareintegration/compositor/vulkan-server/vulkanwrapper.cpp ../../../../hardwareintegration/compositor/vulkan-server/vulkanwrapper.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/compositor/vulkan-server
+ ../../../../hardwareintegration/compositor/vulkan-server/../../../3rdparty/util
+ LIBRARIES
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::OpenGLPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+ Wayland::Server
+)
+
+qt6_generate_wayland_protocol_server_sources(VulkanServerBufferIntegrationPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/vulkan-server/../../../extensions/qt-vulkan-server-buffer-unstable-v1.xml
+)
+
+#### Keys ignored in scope 1:.:.:vulkan-server.pro:<TRUE>:
+# OTHER_FILES = "vulkan-server.json"
diff --git a/src/plugins/hardwareintegration/compositor/vulkan-server/main.cpp b/src/plugins/hardwareintegration/compositor/vulkan-server/main.cpp
index 5b2567f07..64f013830 100644
--- a/src/plugins/hardwareintegration/compositor/vulkan-server/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/vulkan-server/main.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlserverbufferintegrationplugin_p.h>
#include "vulkanserverbufferintegration.h"
diff --git a/src/plugins/hardwareintegration/compositor/vulkan-server/vulkan-server.pro b/src/plugins/hardwareintegration/compositor/vulkan-server/vulkan-server.pro
deleted file mode 100644
index dc82c3f26..000000000
--- a/src/plugins/hardwareintegration/compositor/vulkan-server/vulkan-server.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += vulkan-server.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-vulkan-server
-
-include(../../../../hardwareintegration/compositor/vulkan-server/vulkan-server.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = VulkanServerBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt
new file mode 100644
index 000000000..a85351c29
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt
@@ -0,0 +1,25 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from wayland-egl.pro.
+
+#####################################################################
+## QWaylandEglClientBufferIntegrationPlugin Plugin:
+#####################################################################
+qt_find_package(EGL) # special case
+
+qt_internal_add_plugin(QWaylandEglClientBufferIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-wayland-egl
+ PLUGIN_TYPE wayland-graphics-integration-server
+ SOURCES
+ main.cpp
+ LIBRARIES
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+ Qt::WaylandEglCompositorHwIntegrationPrivate
+)
+
+#### Keys ignored in scope 1:.:.:wayland-egl.pro:<TRUE>:
+# OTHER_FILES = "wayland-egl.json"
diff --git a/src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp b/src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp
index 0197675b9..7258eb507 100644
--- a/src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp
@@ -1,35 +1,9 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlclientbufferintegrationfactory_p.h>
#include <QtWaylandCompositor/private/qwlclientbufferintegrationplugin_p.h>
-#include "waylandeglclientbufferintegration.h"
+#include <QtWaylandEglCompositorHwIntegration/private/waylandeglclientbufferintegration_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/hardwareintegration/compositor/wayland-egl/wayland-egl.pro b/src/plugins/hardwareintegration/compositor/wayland-egl/wayland-egl.pro
deleted file mode 100644
index d452220c5..000000000
--- a/src/plugins/hardwareintegration/compositor/wayland-egl/wayland-egl.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += wayland-egl.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-wayland-egl
-
-include(../../../../hardwareintegration/compositor/wayland-egl/wayland-egl.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = QWaylandEglClientBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/CMakeLists.txt
new file mode 100644
index 000000000..39c97bc5f
--- /dev/null
+++ b/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/CMakeLists.txt
@@ -0,0 +1,36 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Generated from wayland-eglstream-controller.pro.
+
+#####################################################################
+## QWaylandEglStreamClientBufferIntegrationPlugin Plugin:
+#####################################################################
+qt_find_package(EGL) # special case
+
+qt_internal_add_plugin(QWaylandEglStreamClientBufferIntegrationPlugin
+ OUTPUT_NAME qt-wayland-compositor-wayland-eglstream-controller
+ PLUGIN_TYPE wayland-graphics-integration-server
+ SOURCES
+ ../../../../hardwareintegration/compositor/wayland-eglstream-controller/waylandeglstreamcontroller.cpp ../../../../hardwareintegration/compositor/wayland-eglstream-controller/waylandeglstreamcontroller.h
+ ../../../../hardwareintegration/compositor/wayland-eglstream-controller/waylandeglstreamintegration.cpp ../../../../hardwareintegration/compositor/wayland-eglstream-controller/waylandeglstreamintegration.h
+ main.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../hardwareintegration/compositor/wayland-eglstream-controller
+ LIBRARIES
+ EGL::EGL
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::WaylandCompositor
+ Qt::WaylandCompositorPrivate
+ Wayland::Egl
+ Wayland::Server
+)
+
+qt6_generate_wayland_protocol_server_sources(QWaylandEglStreamClientBufferIntegrationPlugin
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/wayland-eglstream-controller/../../../3rdparty/protocol/wl-eglstream-controller.xml
+)
+
+#### Keys ignored in scope 1:.:.:wayland-eglstream-controller.pro:<TRUE>:
+# OTHER_FILES = "wayland-eglstream-controller.json"
diff --git a/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/main.cpp b/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/main.cpp
index 06a69e51d..0eb62b6a0 100644
--- a/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/main.cpp
+++ b/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/main.cpp
@@ -1,31 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtWaylandCompositor/private/qwlclientbufferintegrationfactory_p.h>
#include <QtWaylandCompositor/private/qwlclientbufferintegrationplugin_p.h>
diff --git a/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/wayland-eglstream-controller.pro b/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/wayland-eglstream-controller.pro
deleted file mode 100644
index 6d259a687..000000000
--- a/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/wayland-eglstream-controller.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT = waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += wayland-eglstream-controller.json
-
-SOURCES += \
- main.cpp \
-
-TARGET = qt-wayland-compositor-wayland-eglstream-controller
-
-include(../../../../hardwareintegration/compositor/wayland-eglstream-controller/wayland-eglstream-controller.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = QWaylandEglStreamBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/xcomposite-egl/main.cpp b/src/plugins/hardwareintegration/compositor/xcomposite-egl/main.cpp
deleted file mode 100644
index dda589e29..000000000
--- a/src/plugins/hardwareintegration/compositor/xcomposite-egl/main.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWaylandCompositor/private/qwlclientbufferintegrationplugin_p.h>
-#include "xcompositeeglintegration.h"
-
-QT_BEGIN_NAMESPACE
-
-class QWaylandXCompositeEglClientBufferIntegrationPlugin : public QtWayland::ClientBufferIntegrationPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QtWaylandClientBufferIntegrationFactoryInterface_iid FILE "xcomposite-egl.json")
-public:
- QtWayland::ClientBufferIntegration *create(const QString&, const QStringList&) override;
-};
-
-QtWayland::ClientBufferIntegration *QWaylandXCompositeEglClientBufferIntegrationPlugin::create(const QString& system, const QStringList& paramList)
-{
- Q_UNUSED(paramList);
- Q_UNUSED(system);
- return new XCompositeEglClientBufferIntegration();
-}
-
-QT_END_NAMESPACE
-
-#include "main.moc"
diff --git a/src/plugins/hardwareintegration/compositor/xcomposite-egl/xcomposite-egl.json b/src/plugins/hardwareintegration/compositor/xcomposite-egl/xcomposite-egl.json
deleted file mode 100644
index 0d119ff85..000000000
--- a/src/plugins/hardwareintegration/compositor/xcomposite-egl/xcomposite-egl.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "Keys": [ "xcomposite-egl" ]
-}
diff --git a/src/plugins/hardwareintegration/compositor/xcomposite-egl/xcomposite-egl.pro b/src/plugins/hardwareintegration/compositor/xcomposite-egl/xcomposite-egl.pro
deleted file mode 100644
index 298ed2fc6..000000000
--- a/src/plugins/hardwareintegration/compositor/xcomposite-egl/xcomposite-egl.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT += waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += xcomposite-egl.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-xcomposite-egl
-
-include(../../../../hardwareintegration/compositor/xcomposite-egl/xcomposite-egl.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = QWaylandXCompositeEglClientBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/compositor/xcomposite-glx/main.cpp b/src/plugins/hardwareintegration/compositor/xcomposite-glx/main.cpp
deleted file mode 100644
index b33ee6b9b..000000000
--- a/src/plugins/hardwareintegration/compositor/xcomposite-glx/main.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWaylandCompositor/private/qwlclientbufferintegrationplugin_p.h>
-#include "xcompositeglxintegration.h"
-
-QT_BEGIN_NAMESPACE
-
-class QWaylandXCompositeGlxClientBufferIntegrationPlugin : public QtWayland::ClientBufferIntegrationPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QtWaylandClientBufferIntegrationFactoryInterface_iid FILE "xcomposite-glx.json")
-public:
- QtWayland::ClientBufferIntegration *create(const QString&, const QStringList&) override;
-};
-
-QtWayland::ClientBufferIntegration *QWaylandXCompositeGlxClientBufferIntegrationPlugin::create(const QString& system, const QStringList& paramList)
-{
- Q_UNUSED(paramList);
- Q_UNUSED(system);
- return new XCompositeGLXClientBufferIntegration();
-}
-
-QT_END_NAMESPACE
-
-#include "main.moc"
diff --git a/src/plugins/hardwareintegration/compositor/xcomposite-glx/xcomposite-glx.json b/src/plugins/hardwareintegration/compositor/xcomposite-glx/xcomposite-glx.json
deleted file mode 100644
index e2c4cecd6..000000000
--- a/src/plugins/hardwareintegration/compositor/xcomposite-glx/xcomposite-glx.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "Keys": [ "xcomposite-glx" ]
-}
diff --git a/src/plugins/hardwareintegration/compositor/xcomposite-glx/xcomposite-glx.pro b/src/plugins/hardwareintegration/compositor/xcomposite-glx/xcomposite-glx.pro
deleted file mode 100644
index 41e5c2ec5..000000000
--- a/src/plugins/hardwareintegration/compositor/xcomposite-glx/xcomposite-glx.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-QT += waylandcompositor waylandcompositor-private core-private gui-private
-
-OTHER_FILES += xcomposite-glx.json
-
-SOURCES += \
- main.cpp
-
-TARGET = qt-wayland-compositor-xcomposite-glx
-
-include(../../../../hardwareintegration/compositor/xcomposite-glx/xcomposite-glx.pri)
-
-PLUGIN_TYPE = wayland-graphics-integration-server
-PLUGIN_CLASS_NAME = QWaylandXCompositeGlxClientBufferIntegrationPlugin
-load(qt_plugin)
diff --git a/src/plugins/hardwareintegration/hardwareintegration.pro b/src/plugins/hardwareintegration/hardwareintegration.pro
deleted file mode 100644
index 12658adff..000000000
--- a/src/plugins/hardwareintegration/hardwareintegration.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-TEMPLATE=subdirs
-
-qtHaveModule(waylandclient): SUBDIRS += client
-qtHaveModule(waylandcompositor): SUBDIRS += compositor