From d4a42b5aecc7beb1cf65f614bf0eec2a89c0f69a Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Thu, 19 Mar 2026 10:21:03 +0000 Subject: [PATCH] Include config files in generated CMake Add handling for config assets in the Qt6 frontend generator: generate_cmake.py now discovers config files (find_config_files) and includes their QML/JS entries and JSON resources in the generated lists. CMakeLists.txt was updated to use ../../qml/qt6 path prefixes for root QML files, to include numerous config JSON/JS resources, and to update the auto-generated header file counts. Also rename several frontend docs into frontends/qt6/docs/. --- frontends/qt6/CMakeLists.txt | 221 +++++--------------- frontends/qt6/{ => docs}/MaterialMapping.md | 0 frontends/qt6/{ => docs}/PLAN.md | 0 frontends/qt6/{ => docs}/ROADMAP.md | 0 frontends/qt6/generate_cmake.py | 9 +- 5 files changed, 53 insertions(+), 177 deletions(-) rename frontends/qt6/{ => docs}/MaterialMapping.md (100%) rename frontends/qt6/{ => docs}/PLAN.md (100%) rename frontends/qt6/{ => docs}/ROADMAP.md (100%) diff --git a/frontends/qt6/CMakeLists.txt b/frontends/qt6/CMakeLists.txt index dce42eaf5..80ffc4a84 100644 --- a/frontends/qt6/CMakeLists.txt +++ b/frontends/qt6/CMakeLists.txt @@ -1,5 +1,5 @@ # AUTO-GENERATED by generate_cmake.py — do not edit manually -# Generated from cmake_config.json | 191 QML files, 6 C++ sources, 22 SVGs, 1 audio assets +# Generated from cmake_config.json | 53 QML files, 6 C++ sources, 22 SVGs, 1 audio assets # # Discovered packages: # analytics v1.0.0 - Analytics Studio @@ -58,175 +58,36 @@ qt_add_qml_module(dbal-qml URI DBALObservatory VERSION 1.0 QML_FILES - AdminCrud.js - AdminView.qml - App.qml - CommentsView.qml - ComponentHierarchyEditor.qml - CssClassManager.qml - DashboardView.qml - DatabaseManager.qml - DropdownConfigManager.qml - FrontPage.qml - GodPanel.qml - LoginView.qml - LuaEditor.qml - MaterialLanding.qml - MediaServicePanel.qml - ModPlayerPanel.qml - ModeratorView.qml - NotificationsPanel.qml - PackageManager.qml - PackageViewLoader.qml - PageRoutesManager.qml - ProfileView.qml - SMTPConfigEditor.qml - SchemaEditor.qml - SettingsView.qml - Storybook.qml - SuperGodPanel.qml - ThemeEditor.qml - UserManagement.qml - WorkflowEditor.qml - qmllib/Material/MaterialAccordion.qml - qmllib/Material/MaterialAlert.qml - qmllib/Material/MaterialAppBar.qml - qmllib/Material/MaterialAvatar.qml - qmllib/Material/MaterialBadge.qml - qmllib/Material/MaterialBox.qml - qmllib/Material/MaterialButton.qml - qmllib/Material/MaterialCard.qml - qmllib/Material/MaterialCheckbox.qml - qmllib/Material/MaterialChip.qml - qmllib/Material/MaterialCircularProgress.qml - qmllib/Material/MaterialCollapse.qml - qmllib/Material/MaterialContainer.qml - qmllib/Material/MaterialDialog.qml - qmllib/Material/MaterialDivider.qml - qmllib/Material/MaterialDividerProps.qml - qmllib/Material/MaterialGrid.qml - qmllib/Material/MaterialIconButton.qml - qmllib/Material/MaterialLinearProgress.qml - qmllib/Material/MaterialLink.qml - qmllib/Material/MaterialMenu.qml - qmllib/Material/MaterialMenuItem.qml - qmllib/Material/MaterialMenuProps.qml - qmllib/Material/MaterialPalette.qml - qmllib/Material/MaterialPaper.qml - qmllib/Material/MaterialPopover.qml - qmllib/Material/MaterialPopoverProps.qml - qmllib/Material/MaterialSkeleton.qml - qmllib/Material/MaterialSnackbar.qml - qmllib/Material/MaterialSurface.qml - qmllib/Material/MaterialSwitch.qml - qmllib/Material/MaterialTextField.qml - qmllib/Material/MaterialToolbar.qml - qmllib/Material/MaterialTypography.qml - qmllib/MetaBuilder/CActivityList.qml - qmllib/MetaBuilder/CAdapterPatternSelector.qml - qmllib/MetaBuilder/CAddRouteDialog.qml - qmllib/MetaBuilder/CAdminStatsBar.qml - qmllib/MetaBuilder/CBackendDetailPanel.qml - qmllib/MetaBuilder/CBackendListSidebar.qml - qmllib/MetaBuilder/CCanvasGrid.qml - qmllib/MetaBuilder/CCanvasZoomOverlay.qml - qmllib/MetaBuilder/CCommentCard.qml - qmllib/MetaBuilder/CCommentInput.qml - qmllib/MetaBuilder/CComponentPropertiesPanel.qml - qmllib/MetaBuilder/CComponentTreeRow.qml - qmllib/MetaBuilder/CComponentTypeLegend.qml - qmllib/MetaBuilder/CConfigStatCard.qml - qmllib/MetaBuilder/CConnectionLayer.qml - qmllib/MetaBuilder/CConnectionTest.qml - qmllib/MetaBuilder/CDataTable.qml - qmllib/MetaBuilder/CDatabaseStatsRow.qml - qmllib/MetaBuilder/CDeleteConfirmDialog.qml - qmllib/MetaBuilder/CDropdownMenu.qml - qmllib/MetaBuilder/CEntityForm.qml - qmllib/MetaBuilder/CEntitySidebar.qml - qmllib/MetaBuilder/CGodPanelHeader.qml - qmllib/MetaBuilder/CGodUserCard.qml - qmllib/MetaBuilder/CHeroSection.qml - qmllib/MetaBuilder/CLanguageSelector.qml - qmllib/MetaBuilder/CLevelCard.qml - qmllib/MetaBuilder/CLevelReferenceCard.qml - qmllib/MetaBuilder/CLoginForm.qml - qmllib/MetaBuilder/CModActionCard.qml - qmllib/MetaBuilder/CModStatsRow.qml - qmllib/MetaBuilder/CNavBar.qml - qmllib/MetaBuilder/CNodePalette.qml - qmllib/MetaBuilder/CNodePropertiesPanel.qml - qmllib/MetaBuilder/CNotificationBell.qml - qmllib/MetaBuilder/CNotificationEmptyState.qml - qmllib/MetaBuilder/CNotificationItem.qml - qmllib/MetaBuilder/CNotificationToggles.qml - qmllib/MetaBuilder/CProfileForm.qml - qmllib/MetaBuilder/CProfileHeader.qml - qmllib/MetaBuilder/CQuickActions.qml - qmllib/MetaBuilder/CQuickLoginCard.qml - qmllib/MetaBuilder/CReportCard.qml - qmllib/MetaBuilder/CRouteEditPanel.qml - qmllib/MetaBuilder/CRouteTableHeader.qml - qmllib/MetaBuilder/CRouteTableRow.qml - qmllib/MetaBuilder/CServiceStatus.qml - qmllib/MetaBuilder/CSettingsSection.qml - qmllib/MetaBuilder/CSidebar.qml - qmllib/MetaBuilder/CSmtpSenderForm.qml - qmllib/MetaBuilder/CSmtpServerForm.qml - qmllib/MetaBuilder/CSmtpTemplateEditor.qml - qmllib/MetaBuilder/CSmtpTemplateList.qml - qmllib/MetaBuilder/CSmtpTestEmailForm.qml - qmllib/MetaBuilder/CStatCard.qml - qmllib/MetaBuilder/CStatsStrip.qml - qmllib/MetaBuilder/CSystemMetricCard.qml - qmllib/MetaBuilder/CTableHeader.qml - qmllib/MetaBuilder/CTablePagination.qml - qmllib/MetaBuilder/CTechCard.qml - qmllib/MetaBuilder/CTenantCard.qml - qmllib/MetaBuilder/CThemePicker.qml - qmllib/MetaBuilder/CTransferCard.qml - qmllib/MetaBuilder/CUserMenu.qml - qmllib/MetaBuilder/CWelcomeCard.qml - qmllib/MetaBuilder/CWorkflowCanvas.qml - qmllib/MetaBuilder/CWorkflowNodeDelegate.qml - qmllib/MetaBuilder/CWorkflowSidebar.qml - qmllib/MetaBuilder/CWorkflowTestPanel.qml - qmllib/MetaBuilder/CWorkflowToolbar.qml - qmllib/MetaBuilder/ContactForm.qml - qmllib/MetaBuilder/CssClassPreview.qml - qmllib/MetaBuilder/CssClassSidebar.qml - qmllib/MetaBuilder/CssPropertyEditor.qml - qmllib/MetaBuilder/DropdownGeneralForm.qml - qmllib/MetaBuilder/DropdownOptionsEditor.qml - qmllib/MetaBuilder/DropdownPreview.qml - qmllib/MetaBuilder/DropdownSidebar.qml - qmllib/MetaBuilder/FeatureCard.qml - qmllib/MetaBuilder/HeroSection.qml - qmllib/MetaBuilder/LuaCodeEditor.qml - qmllib/MetaBuilder/LuaOutputPanel.qml - qmllib/MetaBuilder/LuaPropertiesPanel.qml - qmllib/MetaBuilder/LuaScriptSidebar.qml - qmllib/MetaBuilder/MediaJobForm.qml - qmllib/MetaBuilder/MediaJobTable.qml - qmllib/MetaBuilder/MediaPluginsTab.qml - qmllib/MetaBuilder/MediaRadioTab.qml - qmllib/MetaBuilder/MediaTvTab.qml - qmllib/MetaBuilder/NavBar.qml - qmllib/MetaBuilder/SchemaFieldEditor.qml - qmllib/MetaBuilder/SchemaFieldsTable.qml - qmllib/MetaBuilder/SchemaSidebar.qml - qmllib/MetaBuilder/StatusCard.qml - qmllib/MetaBuilder/ThemeColorTokens.qml - qmllib/MetaBuilder/ThemeLivePreview.qml - qmllib/MetaBuilder/ThemePresetGrid.qml - qmllib/MetaBuilder/ThemeSpacingRadius.qml - qmllib/MetaBuilder/ThemeTypography.qml - qmllib/MetaBuilder/UserFormDialog.qml - qmllib/MetaBuilder/UserSearchFilter.qml - qmllib/MetaBuilder/UserStatsBar.qml - qmllib/MetaBuilder/UserTable.qml - qmllib/MetaBuilder/WorkflowNode.qml - qmllib/dbal/DBALProvider.qml + ../../qml/qt6/AdminCrud.js + ../../qml/qt6/AdminView.qml + ../../qml/qt6/App.qml + ../../qml/qt6/CommentsView.qml + ../../qml/qt6/ComponentHierarchyEditor.qml + ../../qml/qt6/CssClassManager.qml + ../../qml/qt6/DashboardView.qml + ../../qml/qt6/DatabaseManager.qml + ../../qml/qt6/DropdownConfigManager.qml + ../../qml/qt6/FrontPage.qml + ../../qml/qt6/GodPanel.qml + ../../qml/qt6/LoginView.qml + ../../qml/qt6/LuaEditor.qml + ../../qml/qt6/MaterialLanding.qml + ../../qml/qt6/MediaServicePanel.qml + ../../qml/qt6/ModPlayerPanel.qml + ../../qml/qt6/ModeratorView.qml + ../../qml/qt6/NotificationsPanel.qml + ../../qml/qt6/PackageManager.qml + ../../qml/qt6/PackageViewLoader.qml + ../../qml/qt6/PageRoutesManager.qml + ../../qml/qt6/ProfileView.qml + ../../qml/qt6/SMTPConfigEditor.qml + ../../qml/qt6/SchemaEditor.qml + ../../qml/qt6/SettingsView.qml + ../../qml/qt6/Storybook.qml + ../../qml/qt6/SuperGodPanel.qml + ../../qml/qt6/ThemeEditor.qml + ../../qml/qt6/UserManagement.qml + ../../qml/qt6/WorkflowEditor.qml packages/analytics/PackageView.qml packages/blog/PackageView.qml packages/breakout/PackageView.qml @@ -249,12 +110,26 @@ qt_add_qml_module(dbal-qml packages/supergod-panel/PackageView.qml packages/user-settings/PackageView.qml packages/watchtower/PackageView.qml + config/GodPanelConfig.js RESOURCES assets/audio/retro-gaming.mod + config/admin-entities.json + config/admin-mock-data.json + config/app-config.json + config/comments-mock.json + config/frontpage-data.json + config/god-panel-config-stats.json + config/god-panel-levels.json + config/god-panel-tabs.json + config/profile-mock.json + config/settings-about.json + config/settings-font-sizes.json + config/settings-notifications.json + config/supergod-god-users.json + config/supergod-system-metrics.json + config/supergod-tenants.json + config/supergod-transfers.json config/workflow-mock-data.json - qmllib/Material/qmldir - qmllib/MetaBuilder/qmldir - qmllib/dbal/qmldir ) # SVG assets diff --git a/frontends/qt6/MaterialMapping.md b/frontends/qt6/docs/MaterialMapping.md similarity index 100% rename from frontends/qt6/MaterialMapping.md rename to frontends/qt6/docs/MaterialMapping.md diff --git a/frontends/qt6/PLAN.md b/frontends/qt6/docs/PLAN.md similarity index 100% rename from frontends/qt6/PLAN.md rename to frontends/qt6/docs/PLAN.md diff --git a/frontends/qt6/ROADMAP.md b/frontends/qt6/docs/ROADMAP.md similarity index 100% rename from frontends/qt6/ROADMAP.md rename to frontends/qt6/docs/ROADMAP.md diff --git a/frontends/qt6/generate_cmake.py b/frontends/qt6/generate_cmake.py index 66e5ceeed..074df9667 100755 --- a/frontends/qt6/generate_cmake.py +++ b/frontends/qt6/generate_cmake.py @@ -159,6 +159,7 @@ def generate_cmake(config: dict, root_dir: Path) -> str: root_qml = find_root_qml_files(root_dir) qmllib = find_qmllib_files(root_dir) package_qml = find_package_qml_files(root_dir) + config_files = find_config_files(root_dir) cpp_sources = find_cpp_sources(root_dir) svg_assets = find_svg_assets(root_dir) audio_assets = find_audio_assets(root_dir) @@ -179,11 +180,11 @@ def generate_cmake(config: dict, root_dir: Path) -> str: source_files = ["main.cpp"] source_files.extend(cpp_sources["cpp"]) - # Build QML files list: root QML + qmllib QML + package QML - all_qml_files = root_qml + qmllib["qml"] + package_qml + # Build QML files list: root QML + qmllib QML + package QML + config JS + all_qml_files = root_qml + qmllib["qml"] + package_qml + config_files["qml"] - # Build RESOURCES list: audio + qmllib resources (qmldir files) - resource_files = audio_assets + qmllib["resources"] + # Build RESOURCES list: audio + config JSON + qmllib resources (qmldir files) + resource_files = audio_assets + config_files["resources"] + qmllib["resources"] # Build compile definitions defs_lines = []