Update CMake configuration and CI workflows for improved compatibility and testing

- Updated minimum CMake version requirement from 3.5 to 3.16 to leverage new features and policies.
- Enhanced CI workflows to include additional build configurations for Ubuntu and macOS, improving cross-platform support.
- Added conditional linking for ImGui Test Engine in the CMakeLists, allowing for UI testing when enabled.
- Refactored CMake commands in CI to ensure consistent policy version handling and streamlined build processes.
- Introduced new constructors for MenuItem in the GUI to enhance menu item management and flexibility.
This commit is contained in:
scawful
2025-09-26 09:23:53 -04:00
parent 50f83e818c
commit 907e29a495
9 changed files with 246 additions and 40 deletions

View File

@@ -75,7 +75,9 @@ absl::Status ShutdownWindow(Window& window) {
SDL_CloseAudioDevice(window.audio_device_);
// Stop test engine WHILE ImGui context is still valid
#ifdef YAZE_ENABLE_IMGUI_TEST_ENGINE
test::TestManager::Get().StopUITesting();
#endif
// Shutdown ImGui implementations
ImGui_ImplSDL2_Shutdown();
@@ -85,7 +87,9 @@ absl::Status ShutdownWindow(Window& window) {
ImGui::DestroyContext();
// NOW destroy test engine context (after ImGui context is destroyed)
#ifdef YAZE_ENABLE_IMGUI_TEST_ENGINE
test::TestManager::Get().DestroyUITestingContext();
#endif
// Shutdown graphics arena BEFORE destroying SDL contexts
gfx::Arena::Get().Shutdown();