backend-infra-engineer: Release v0.3.8 snapshot

This commit is contained in:
scawful
2025-11-22 02:10:38 -05:00
parent 476dd1cd1c
commit c8289bffda
10 changed files with 148 additions and 48 deletions

View File

@@ -18,8 +18,17 @@ endif()
# Yaze Application Executable
# ==============================================================================
# controller.cc is built here (not in yaze_app_core_lib) because it uses
# EditorManager, DockSpaceRenderer, and WidgetIdRegistry from yaze_editor/yaze_gui.
# Including it in yaze_app_core_lib would create a dependency cycle:
# yaze_agent -> yaze_app_core_lib -> yaze_editor -> yaze_agent
set(YAZE_APP_EXECUTABLE_SRC
app/main.cc
app/controller.cc
)
if (APPLE)
add_executable(yaze MACOSX_BUNDLE app/main.cc ${YAZE_RESOURCE_FILES})
add_executable(yaze MACOSX_BUNDLE ${YAZE_APP_EXECUTABLE_SRC} ${YAZE_RESOURCE_FILES})
set(ICON_FILE "${CMAKE_SOURCE_DIR}/assets/yaze.icns")
target_sources(yaze PRIVATE ${ICON_FILE})
@@ -34,7 +43,7 @@ if (APPLE)
MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}"
)
else()
add_executable(yaze app/main.cc)
add_executable(yaze ${YAZE_APP_EXECUTABLE_SRC})
if(WIN32 OR UNIX)
target_sources(yaze PRIVATE ${YAZE_RESOURCE_FILES})
endif()

View File

@@ -13,7 +13,9 @@
set(
YAZE_APP_CORE_SRC
app/rom.cc
app/controller.cc
# Note: controller.cc is built directly into the yaze executable (not this library)
# because it depends on yaze_editor and yaze_gui, which would create a cycle:
# yaze_agent -> yaze_app_core_lib -> yaze_editor -> yaze_agent
app/platform/window.cc
)
@@ -86,10 +88,11 @@ target_link_libraries(yaze_app_core_lib PUBLIC
yaze_core_lib # Foundational core library with project management
yaze_util
yaze_gfx
yaze_gui # Safe to include - yaze_gui doesn't link to yaze_agent
yaze_zelda3
yaze_common
# Note: yaze_editor and yaze_gui are linked at executable level to avoid
# dependency cycle: yaze_agent -> yaze_app_core_lib -> yaze_editor -> yaze_agent
# Note: yaze_editor is linked at executable level to avoid dependency cycle:
# yaze_agent -> yaze_app_core_lib -> yaze_editor -> yaze_agent
ImGui
${ABSL_TARGETS}
${YAZE_SDL2_TARGETS}

View File

@@ -5,7 +5,14 @@
if(YAZE_BUILD_EMU AND NOT YAZE_MINIMAL_BUILD)
if(APPLE)
add_executable(yaze_emu MACOSX_BUNDLE app/emu/emu.cc app/platform/app_delegate.mm)
# Note: controller.cc is included here (not via library) because it depends on
# yaze_editor and yaze_gui. Including it in yaze_app_core_lib would create a cycle:
# yaze_agent -> yaze_app_core_lib -> yaze_editor -> yaze_agent
add_executable(yaze_emu MACOSX_BUNDLE
app/emu/emu.cc
app/platform/app_delegate.mm
app/controller.cc
)
target_link_libraries(yaze_emu PUBLIC "-framework Cocoa")
else()
add_executable(yaze_emu app/emu/emu.cc)