WIP: Mac app bundles: add the LSUIElement InfoDict property
Apple's LaunchServices provide a property that can be set in the Info Dict which tells the system to start the application as an "agent". Such applications lack a menu bar and presence in the Dock and app switcher but can still put up a GUI when needed. Typical usage: MenuBar Extras.
I'm marking this WIP because I'd love to combine the change with a feature to build non-bundled ("posix") executables with an embedded info.plist (see: http://qihome.org/qiliang/2013/05/28/how-to-embedded-a-info-plist-into-arbitrary-binaries/). In fact, more often than not I find that I build "agent" style applications as regular executables (they're often KDE helper applications that must be installed somewhere on the path or in a libexec directory). It would make a lot of sense if it were possible to set
LSUIElement via an embedded Info.plist and a CMake macro rather than having to add the CoreFoundation code to do it programmatically.