I am constructing a hobbyist sport engine. It consists of two executables, the sport and the editor, which share many assets. Additionally, the editor could begin the sport as a toddler course of.
On Home windows, I can simply set up the executables in the identical folder and they might each present up within the begin menu.
On Linux, each executables could share the identical lib/foo and share/foo.
What am I purported to do on macOS? IIUC, an app bundle could solely have a single predominant executable. As each apps share most assets (reminiscent of libraries, graphics, sounds, and so on.) it does not really feel proper to only deploy them as separate bundles.
One resolution could be to create a “launcher” app as the principle executable which might simply present a dialog and let the consumer select the precise app. In truth, that is what LibreOffice does on macOS. On Home windows, you may both run the “LibreOffice” launcher app, or you may straight launch particular person apps, reminiscent of “LibreOffice Author”. On macOS, there’s solely the launcher app. It isn’t horrible, nevertheless it nonetheless feels a bit awkward and pointless, at the very least coming from Home windows and Linux.
Every other concepts? What would you contemplate most idiomatic?