Deploying for macOS - how are we supposed to do it?

I know exactly what you need to do, but the whole answer is complex.
I do not use Xcode, but I do have command line utilities installed on my build machine. I typically build a “bundle”,
so that the exe is contained in a subdirectory ./appName.app/Contents/MacOS/*
and additional [non-standard ] dylibs and frameworks are under
./appName.app/Contents/Frameworks/*. With that setup you need to fix your dylibs thusly…I make a fixlib.sh shell script with this line inside:
install_name_tool -id “@loader_path/…/Frameworks/$1” $1 (2 dots)
(then check it with
otool -D $1
to see its new name.)
This tells the system to go up 1 directory and down Frameworks to find your dylib.
You do this for all libraries you do not want to require your users to install onto their game machine just to play your game. Please see github and search for my [fastrgv] repositories. They are all setup for 3 targets including OSX. Simply see how I do it, in case you have lingering questions. Pick a simple game like “rufassok” or “sevenslider” to unzip and study.

But the simplest answer for SDL is to build it on OSX from sources, like I have done recently, and simply use the libSDL2.a static library.