feat(build-system): enhance CMake configuration and introduce new utility files
- Refactored CMakeLists.txt to streamline project configuration and improve readability. - Introduced new utility functions in `utils.cmake` for setting compiler flags and managing dependencies. - Added `dependencies.cmake` to centralize third-party dependency management, enhancing modularity. - Updated CI workflows to include new build options and improved logging for better feedback during configuration. - Implemented precompiled headers in various libraries to speed up compilation times. Benefits: - Improved maintainability and clarity of the build system. - Enhanced build performance through precompiled headers. - Streamlined dependency management for easier integration of third-party libraries.
This commit is contained in:
@@ -1,33 +1,34 @@
|
||||
set(
|
||||
YAZE_GUI_SRC
|
||||
app/gui/canvas.cc
|
||||
app/gui/canvas/bpp_format_ui.cc
|
||||
app/gui/canvas/canvas_automation_api.cc
|
||||
app/gui/canvas/canvas_context_menu.cc
|
||||
app/gui/canvas/canvas_interaction_handler.cc
|
||||
app/gui/canvas/canvas_modals.cc
|
||||
app/gui/canvas/canvas_performance_integration.cc
|
||||
app/gui/canvas/canvas_usage_tracker.cc
|
||||
app/gui/canvas/canvas_utils.cc
|
||||
app/gui/color.cc
|
||||
app/gui/editor_card_manager.cc
|
||||
app/gui/editor_layout.cc
|
||||
app/gui/input.cc
|
||||
app/gui/modules/asset_browser.cc
|
||||
app/gui/modules/text_editor.cc
|
||||
app/gui/widgets/agent_chat_widget.cc
|
||||
app/gui/widgets/dungeon_object_emulator_preview.cc
|
||||
app/gui/widgets/collaboration_panel.cc
|
||||
app/gui/canvas.cc
|
||||
app/gui/canvas/canvas_utils.cc
|
||||
app/gui/widgets/palette_widget.cc
|
||||
app/gui/widgets/palette_editor_widget.cc
|
||||
app/gui/input.cc
|
||||
app/gui/style.cc
|
||||
app/gui/color.cc
|
||||
app/gui/theme_manager.cc
|
||||
app/gui/canvas/bpp_format_ui.cc
|
||||
app/gui/widgets/widget_id_registry.cc
|
||||
app/gui/widgets/widget_auto_register.cc
|
||||
app/gui/widgets/widget_state_capture.cc
|
||||
app/gui/ui_helpers.cc
|
||||
app/gui/editor_layout.cc
|
||||
app/gui/editor_card_manager.cc
|
||||
# Canvas system components
|
||||
app/gui/canvas/canvas_modals.cc
|
||||
app/gui/canvas/canvas_context_menu.cc
|
||||
app/gui/canvas/canvas_usage_tracker.cc
|
||||
app/gui/canvas/canvas_performance_integration.cc
|
||||
app/gui/canvas/canvas_interaction_handler.cc
|
||||
app/gui/canvas/canvas_automation_api.cc
|
||||
app/gui/widgets/agent_chat_widget.cc
|
||||
app/gui/widgets/collaboration_panel.cc
|
||||
app/gui/widgets/dungeon_object_emulator_preview.cc
|
||||
app/gui/widgets/palette_editor_widget.cc
|
||||
app/gui/widgets/palette_widget.cc
|
||||
app/gui/widgets/tile_selector_widget.cc
|
||||
app/gui/widgets/widget_auto_register.cc
|
||||
app/gui/widgets/widget_id_registry.cc
|
||||
app/gui/widgets/widget_measurement.cc
|
||||
app/gui/widgets/widget_state_capture.cc
|
||||
# Canvas system components
|
||||
)
|
||||
|
||||
# ==============================================================================
|
||||
@@ -47,12 +48,7 @@ set(
|
||||
add_library(yaze_gui STATIC ${YAZE_GUI_SRC})
|
||||
|
||||
target_precompile_headers(yaze_gui PRIVATE
|
||||
<array>
|
||||
<memory>
|
||||
<set>
|
||||
<string>
|
||||
<string_view>
|
||||
<vector>
|
||||
"$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_SOURCE_DIR}/src/yaze_pch.h>"
|
||||
)
|
||||
|
||||
target_include_directories(yaze_gui PUBLIC
|
||||
|
||||
Reference in New Issue
Block a user