refactor(build): improve auto-discovery of GUI library sources in build_cleaner.py

- Enhanced the discover_cmake_libraries function to identify decomposed libraries and handle special cases for source variables.
- Updated gui_library.cmake to utilize auto-maintenance markers, streamlining the management of source lists for GUI components.
- Commented out hardcoded CMake source blocks, allowing for dynamic discovery of source files.

Benefits:
- Simplifies the maintenance of GUI library sources by automating updates and reducing manual configuration.
- Improves clarity and efficiency in the build process for GUI components.
This commit is contained in:
scawful
2025-10-13 20:25:00 -04:00
parent 99424fa2b2
commit 530b4e8f76
2 changed files with 61 additions and 26 deletions

View File

@@ -7,7 +7,12 @@
# compatibility.
# ==============================================================================
# 1. Define Source Groups for each sub-library
# ==============================================================================
# SOURCE LISTS (auto-maintained by build_cleaner.py)
# Paths are relative to src/ directory
# ==============================================================================
# build_cleaner:auto-maintain
set(GUI_CORE_SRC
app/gui/core/background_renderer.cc
app/gui/core/color.cc
@@ -18,6 +23,7 @@ set(GUI_CORE_SRC
app/gui/core/ui_helpers.cc
)
# build_cleaner:auto-maintain
set(CANVAS_SRC
app/gui/canvas/bpp_format_ui.cc
app/gui/canvas/canvas.cc
@@ -30,6 +36,7 @@ set(CANVAS_SRC
app/gui/canvas/canvas_utils.cc
)
# build_cleaner:auto-maintain
set(GUI_WIDGETS_SRC
app/gui/widgets/asset_browser.cc
app/gui/widgets/dungeon_object_emulator_preview.cc
@@ -39,6 +46,7 @@ set(GUI_WIDGETS_SRC
app/gui/widgets/tile_selector_widget.cc
)
# build_cleaner:auto-maintain
set(GUI_AUTOMATION_SRC
app/gui/automation/widget_auto_register.cc
app/gui/automation/widget_id_registry.cc
@@ -46,6 +54,7 @@ set(GUI_AUTOMATION_SRC
app/gui/automation/widget_state_capture.cc
)
# build_cleaner:auto-maintain
set(GUI_APP_SRC
app/gui/app/agent_chat_widget.cc
app/gui/app/collaboration_panel.cc
@@ -53,6 +62,11 @@ set(GUI_APP_SRC
app/gui/app/editor_layout.cc
)
# ==============================================================================
# LIBRARY DEFINITIONS AND LINK STRUCTURE (manually configured)
# DO NOT AUTO-MAINTAIN
# ==============================================================================
# 2. Create Static Libraries and Establish Link Dependencies
add_library(yaze_gui_core STATIC ${GUI_CORE_SRC})
add_library(yaze_canvas STATIC ${CANVAS_SRC})