Skip to content

Add native macOS SDL3 application support - #3

Merged
douglasjv merged 106 commits into
mainfrom
port/macos-app
Aug 28, 2026
Merged

Add native macOS SDL3 application support#3
douglasjv merged 106 commits into
mainfrom
port/macos-app

Conversation

@douglasjv

@douglasjv douglasjv commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • build ArrowVortex as a macOS 12+ CMake app bundle with the existing OpenGL renderer
  • add an Objective-C++ native menu backend with Command shortcuts, About, Quit, checked/enabled state, and submenus
  • replace blocking file dialogs with SDL3 asynchronous callbacks processed on the main loop
  • separate bundled resources from writable preferences and logs
  • normalize Retina window, resize, scale-change, and mouse coordinates
  • add Windows/Linux/macOS CMake presets and a bounded --smoke-test mode

Local verification

  • configured and built macos-local-debug on Apple Silicon
  • validated the generated Info.plist and bundle resources
  • launched through LaunchServices and verified the rendered window and native menus
  • opened and cancelled the native asynchronous file picker without deadlock
  • verified preference/log output under the SDL preference directory
  • clang-format check passes

This PR is stacked on the Linux baseline PR and will be retargeted to main after that PR lands.

uvcat7 and others added 30 commits August 27, 2025 15:04
uvcat7 and others added 25 commits June 11, 2026 01:21
…op file for install convenience (uvcat7#291)

* Added arrowvortex.desktop for installation

* fixed settings directory to be on the user's {XDG_CONFIG_HOME}/arrowvortex/ instead of just 'settings' locally, fallback to /home/user/.config/arowvortex/

* forgot to update the desktop file I copied without looking
# Conflicts:
#	src/Dialogs/SongProperties.h
@douglasjv
douglasjv changed the base branch from port/linux-baseline to main August 28, 2026 15:23
@douglasjv
douglasjv merged commit 0d7c2a6 into main Aug 28, 2026
3 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants