Advance Wayland and KDE package bring-up

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-14 10:51:06 +01:00
parent 51f3c21121
commit cf12defd28
15214 changed files with 20594243 additions and 269 deletions
@@ -0,0 +1,64 @@
# SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
# SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de>
#
# SPDX-License-Identifier: BSD-3-Clause
#[=======================================================================[.rst:
ECMFindQmlModule
----------------
Find QML import modules through a ``find_qmlmodule()`` call.
It looks for the qmldir and uses the qmlplugindump if needed application to find the plugins and sets them up as
runtime dependencies.
This is useful so that when we configure a project we are notified when some
QML imports are not present in the system.
::
ecm_find_qmlmodule(<module_name>
<version> # Optional for Qt6 builds
[REQUIRED] # Since 6.0
)
Usage example:
.. code-block:: cmake
ecm_find_qmlmodule(org.kde.kirigami 2.1)
ecm_find_qmlmodule(org.kde.kirigami 2.1 REQUIRED) # CMake will fail if the required version is not found
ecm_find_qmlmodule(org.kde.kirigami) # Find it without a given version
ecm_find_qmlmodule(org.kde.kirigami REQUIRED) # CMake will fail if it is not found
Since 5.38.0.
#]=======================================================================]
set(MODULES_DIR ${CMAKE_CURRENT_LIST_DIR})
function(ecm_find_qmlmodule MODULE_NAME)
if (QT_MAJOR_VERSION STREQUAL 6)
cmake_parse_arguments(ARG REQUIRED "" "" ${ARGN})
if (ARG_UNPARSED_ARGUMENTS)
list(GET ARG_UNPARSED_ARGUMENTS 0 VERSION) # If we have any unparsed args, that should be the version
endif()
set(ARGN "") # The find_package call below should not recieve arguments in KF6
else()
list(GET ARGN 0 VERSION)
list(REMOVE_AT ARGN 0)
endif()
set(GENMODULE "${MODULE_NAME}-QMLModule")
configure_file("${MODULES_DIR}/ECMFindQmlModule.cmake.in" "Find${GENMODULE}.cmake" @ONLY)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_MODULE_PATH})
find_package(${GENMODULE} ${ARGN})
if(COMMAND set_package_properties)
if (ARG_REQUIRED)
set(TYPE_STRING TYPE REQUIRED)
else()
set(TYPE_STRING TYPE RUNTIME)
endif()
set_package_properties(${GENMODULE} PROPERTIES
DESCRIPTION "QML module '${MODULE_NAME}' is a runtime dependency."
${TYPE_STRING})
endif()
endfunction()