kirigami: fix Qt6::GuiPrivate cmake target, QElapsedTimer include

- Add GuiPrivate to Qt6 find_package in top-level CMakeLists.txt
- Add missing QElapsedTimer include in toolbarlayout.cpp
- Add network stub infrastructure in recipe (incomplete, Qt6Network
  cross-compilation still needed for full build)
This commit is contained in:
2026-05-04 14:49:07 +01:00
parent 4e439faae5
commit 15d77b6254
3 changed files with 34 additions and 2 deletions
+21 -1
View File
@@ -44,6 +44,19 @@ cat > "${COOKBOOK_BUILD}/qml_off_noop.h" << 'QMLEOF'
#endif
QMLEOF
cat > "${COOKBOOK_BUILD}/redbear_network_stub.h" << 'NETEOF'
#ifndef REDBEAR_NETWORK_STUB_H
#define REDBEAR_NETWORK_STUB_H
#include <QObject>
#include <QUrl>
#define QNetworkReply QObject
#define QNetworkRequest struct QNetworkRequestStub { QNetworkRequestStub(const QUrl&) {} void setAttribute(int, int) {} };
#define QNetworkAccessManager QObject
enum { QNetworkReply__NoError = 0, QNetworkReply__ContentNotFoundError = 1 };
#define QNetworkReply__finished destroyed
#endif
NETEOF
cat > "${COOKBOOK_BUILD}/shader_noop.cmake" << 'EOFCMAKE'
function(qt6_add_shaders)
endfunction()
@@ -60,12 +73,18 @@ sed -i 's/^ecm_install_po_files_as_qm(poqm)/# ecm_install_po_files_as_qm(poqm) -
sed -i 's/^configure_file(qmllint.ini.in/# configure_file(qmllint.ini.in -- disabled/' "${COOKBOOK_SOURCE}/CMakeLists.txt"
sed -i 's/^kde_configure_git_pre_commit_hook/# kde_configure_git_pre_commit_hook -- disabled/' "${COOKBOOK_SOURCE}/CMakeLists.txt"
# Add GuiPrivate to Qt6 find_package so the platform module can link it
sed -i 's/COMPONENTS Core Quick Gui Svg QuickControls2 Concurrent ShaderTools/COMPONENTS Core Quick Gui GuiPrivate Svg QuickControls2 Concurrent ShaderTools/' "${COOKBOOK_SOURCE}/CMakeLists.txt"
# Fix missing QElapsedTimer include in toolbarlayout.cpp
sed -i '/#include <QDeadlineTimer>/a #include <QElapsedTimer>' "${COOKBOOK_SOURCE}/src/layouts/toolbarlayout.cpp"
cmake "${COOKBOOK_SOURCE}" \
-DCMAKE_TOOLCHAIN_FILE="${COOKBOOK_ROOT}/local/recipes/qt/redox-toolchain.cmake" \
-DQT_HOST_PATH="${HOST_BUILD}" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="-include ${COOKBOOK_BUILD}/qml_off_noop.h -I${COOKBOOK_SYSROOT}/usr/include/QtQml -I${COOKBOOK_SYSROOT}/usr/include/QtQuick" \
-DCMAKE_CXX_FLAGS="-include ${COOKBOOK_BUILD}/qml_off_noop.h -include ${COOKBOOK_BUILD}/redbear_network_stub.h -I${COOKBOOK_SYSROOT}/usr/include/QtQml -I${COOKBOOK_SYSROOT}/usr/include/QtQuick" \
-DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}:${COOKBOOK_STAGE}/usr/lib/cmake" \
-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES="${COOKBOOK_BUILD}/shader_noop.cmake" \
-DBUILD_TESTING=OFF \
@@ -74,6 +93,7 @@ cmake "${COOKBOOK_SOURCE}" \
-DUSE_DBUS=OFF \
-DECM_ENABLE_QT_TRANSLATIONS=OFF \
-DBUILD_TRANSLATIONS=OFF \
-D__qt_Gui_always_load_private_module=ON \
-Wno-dev
cmake --build . -j${COOKBOOK_MAKE_JOBS}
@@ -31,7 +31,7 @@ endif()
include(FeatureSummary)
include(KDEInstallDirs)
find_package(Qt6 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Core Quick Gui Svg QuickControls2 Concurrent ShaderTools)
find_package(Qt6 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Core Quick Gui GuiPrivate Svg QuickControls2 Concurrent ShaderTools)
if (BUILD_TESTING)
find_package(Qt6QuickTest ${REQUIRED_QT_VERSION} CONFIG QUIET)
endif()
@@ -10,6 +10,18 @@
#include <unordered_map>
#include <QDeadlineTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QElapsedTimer>
#include <QQmlComponent>
#include <QTimer>