feat: Enable Unity builds for faster compilation

- Added an option to enable Unity (Jumbo) builds in CMake.
- Updated CMakeLists.txt to conditionally set CMAKE_UNITY_BUILD and batch size.
- Removed outdated analysis documentation for overworld implementation.
- Deleted z3ed resources YAML file as it is no longer needed.
- Refactored CMake files to modularize the build system, separating core, editor, gfx, gui, and zelda3 components into library files.
- Added precompiled headers for various libraries to improve compilation times.
- Updated yaze_config.h.in to define IMGUI_DEFINE_MATH_OPERATORS for C++ compatibility.
- Enhanced editor integration tests with necessary includes for ImGui.
This commit is contained in:
scawful
2025-10-04 16:23:57 -04:00
parent 1c4a82ab7e
commit 0176a66b7e
21 changed files with 520 additions and 503 deletions

View File

@@ -1,22 +0,0 @@
set(
YAZE_APP_ZELDA3_SRC
app/zelda3/hyrule_magic.cc
app/zelda3/zelda3_labels.cc
app/zelda3/overworld/overworld_map.cc
app/zelda3/overworld/overworld.cc
app/zelda3/screen/inventory.cc
app/zelda3/screen/title_screen.cc
app/zelda3/screen/dungeon_map.cc
app/zelda3/sprite/sprite.cc
app/zelda3/sprite/sprite_builder.cc
app/zelda3/music/tracker.cc
app/zelda3/dungeon/room.cc
app/zelda3/dungeon/room_object.cc
app/zelda3/dungeon/object_parser.cc
app/zelda3/dungeon/object_renderer.cc
app/zelda3/dungeon/room_layout.cc
app/zelda3/dungeon/room_diagnostic.cc
app/zelda3/dungeon/room_visual_diagnostic.cc
app/zelda3/dungeon/dungeon_editor_system.cc
app/zelda3/dungeon/dungeon_object_editor.cc
)

View File

@@ -1,3 +1,26 @@
set(
YAZE_APP_ZELDA3_SRC
app/zelda3/hyrule_magic.cc
app/zelda3/zelda3_labels.cc
app/zelda3/overworld/overworld_map.cc
app/zelda3/overworld/overworld.cc
app/zelda3/screen/inventory.cc
app/zelda3/screen/title_screen.cc
app/zelda3/screen/dungeon_map.cc
app/zelda3/sprite/sprite.cc
app/zelda3/sprite/sprite_builder.cc
app/zelda3/music/tracker.cc
app/zelda3/dungeon/room.cc
app/zelda3/dungeon/room_object.cc
app/zelda3/dungeon/object_parser.cc
app/zelda3/dungeon/object_renderer.cc
app/zelda3/dungeon/room_layout.cc
app/zelda3/dungeon/room_diagnostic.cc
app/zelda3/dungeon/room_visual_diagnostic.cc
app/zelda3/dungeon/dungeon_editor_system.cc
app/zelda3/dungeon/dungeon_object_editor.cc
)
# ==============================================================================
# Yaze Zelda3 Library
# ==============================================================================
@@ -13,6 +36,15 @@
add_library(yaze_zelda3 STATIC ${YAZE_APP_ZELDA3_SRC})
target_precompile_headers(yaze_zelda3 PRIVATE
<array>
<memory>
<set>
<string>
<string_view>
<vector>
)
target_include_directories(yaze_zelda3 PUBLIC
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/lib