refactor(build): enhance build_cleaner.py with .gitignore support and auto-discovery

- Added support for .gitignore patterns to the build_cleaner script, allowing it to respect ignored files during maintenance tasks.
- Implemented auto-discovery of CMake libraries marked for auto-maintenance, improving the automation of source list updates.
- Introduced functions for extracting includes and symbols from source files to suggest missing headers based on usage.
- Updated README to reflect new features and usage instructions.

Benefits:
- Streamlines the build process by automating maintenance tasks and ensuring proper header management.
- Enhances code organization and maintainability by integrating with existing project structures.
This commit is contained in:
scawful
2025-10-13 12:18:10 -04:00
parent 02e9d3ba77
commit 8b0fd46580
14 changed files with 670 additions and 217 deletions

View File

@@ -75,7 +75,6 @@ message(STATUS " - GFX Tier: gfx_backend configured")
set(GFX_RESOURCE_SRC
app/gfx/resource/arena.cc
app/gfx/resource/memory_pool.cc
app/gfx/render/background_buffer.cc
)
add_library(yaze_gfx_resource STATIC ${GFX_RESOURCE_SRC})
configure_gfx_library(yaze_gfx_resource)
@@ -121,6 +120,7 @@ message(STATUS " - GFX Tier: gfx_util configured")
# ==============================================================================
set(GFX_RENDER_SRC
app/gfx/render/atlas_renderer.cc
app/gfx/render/background_buffer.cc
app/gfx/render/texture_atlas.cc
app/gfx/render/tilemap.cc
)
@@ -174,4 +174,4 @@ if(PNG_FOUND)
target_link_libraries(yaze_gfx INTERFACE ${PNG_LIBRARIES})
endif()
message(STATUS "✓ yaze_gfx library configured with tiered architecture")
message(STATUS "✓ yaze_gfx library configured with tiered architecture")