I think I posted something before on the #if TARGET_OS_IPHONE warning. Those are in modules/cerberus/native/lang,cpp
They should I believe be #ifdef TARGET_OS_IPHONE. As TARGET_OS_IPHONE is not defined, it will evaluate to zero and not be added as part of the build.
Those depreciated calls to sprintf should probably be looked at just in case Apple have decide to do something about them later.
The changing vfork to plain old fork should still work. vfork was faster than fork, because vfork just used the same memory space as the parent process, while fork copied it's parent process stack.
The launcher 'MACOSX_DEPLOYMENT_TARGET' looks like it needs updating.
Info.plist
warning: invalid character in Bundle Identifier. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters. (in target 'Cerberus' from project 'Cerberus')
/Users/psagor/Downloads/cerberus-2022-03-26/src/launcher/xcode/Cerberus.xcodeproj: warning: User-supplied CFBundleIdentifier value 'com.whiteskygames.cserver_macos' in the Info.plist must be the same as the PRODUCT_BUNDLE_IDENTIFIER build setting value 'com.krautapps.cerberus-launcher'. (in target 'Cerberus' from project 'Cerberus')
That bit is probably cause by using "default" to modify the info.plist in the build script. That line needs to be commented out and the launcher built with something like:
xcodebuild "PRODUCT_BUNDLE_IDENTIFIER=com.whiteskygames.launcher" -scheme Cerberus -configuration release -project $SRC/launcher/xcode/Cerberus.xcodeproj -derivedDataPath $SRC/launcher/launcher.build
The xcode project may also need updating to sort out the PRODUCT_BUNDLE_IDENTIFIER issue.
What would be more of a worry are those bits issuing warnings about the garbage collector. I've seen some strange behaviour on Linux with using DataBuffers lately.
As I'm stuck using an old iMac. I wouldn't be able to do much in fixing any issues related to a more modern Mac.
Over the last week. I've been doing a bit reworking of the build scripts and some work on Ted over the last few months. The scripts should build the current tools. Just use git to clone the repository with:
git clone -b experimental
https://github.com/dawlane/cerberus.git
Set the execute permission on the script and run builder.sh script passing the -m option. It will display a menu where you can build each path of Cerberus individually.