Skip to content

Conversation

@sukibaby
Copy link
Collaborator

@sukibaby sukibaby commented Nov 7, 2025

These are the needed changes for the build system to add macOS support. Testing on macOS 15 with Xcode 16.4.

Also including a zsh script (default macOS shell) to automate the build.

The full Xcode is not required for the command line build.

Xcode project files can optionally be built by running cmake --preset xcode from the project directory, which would put its contents into a directory build-xcode:

Screenshot 2025-11-07 at 12 27 05 AM

Introduces a zsh script to automate dependency installation and project build for ArrowVortex on macOS.
Enhanced CMakeLists.txt to support Homebrew as a fallback for dependency resolution, using pkg-config as a fallback for aubio, FFMPEG, iir, MAD, Ogg, Stb, and Vorbis. Added logic to adjust PKG_CONFIG_PATH for macOS and improved messaging for found dependencies.
Introduces CMakePresets.json with multiple presets for vcpkg toolchain, supporting auto-detect, ARM64, x64, and debug builds. This is mainly to ensure the proper arch is installed (otherwise, x64-osx may mistakenly get used on arm64-osx macOS)
The aubio library has been removed from the vcpkg.json dependencies list because it could not be provided by vcpkg on macOS.
Introduces a new Xcode configure and build preset for Xcode IDE integration with vcpkg support.
@sukibaby sukibaby changed the title Introduce macOS build support, with build script. Compatible with x86_64 & arm64 macOS. Introduce macOS build support for CMake & Xcode (also includes build script) Nov 7, 2025
@uvcat7
Copy link
Owner

uvcat7 commented Nov 11, 2025

Looks fine so far. I would like to see some .yml files to prove the build process. Also not sure why it needs a build script; can you explain that to me?

Before I merge, I'd like to get the SDL porting work done so this could be used to iterate some Mac OS builds of ArrowVortex. Hopefully that won't take too long...

@sukibaby
Copy link
Collaborator Author

It doesn't need the build script, sorry for the confusion. I'll clear that out.

And then hopefully I can get a yaml update here before this is merged as well :)

No worries on holding off on this for now. I don't expect much to change here.

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.

3 participants