Details
Description
Compilation of XIB files should be moved into its own "ib" module.
The cpp module is getting cluttered with things that technically aren't related to C/C+/Objective-C/Objective-C+ compilation and linking, and having an ib module will allow us to expose more properties allowing the user to control aspects of the nib compilation process.
Run `man ibtool` to see the various flags that the ibtool program accepts.
Exposed properties could include:
(string) outputFormat: [ "binary1", "xml1", "human-readable-text" ]
(bool) flatten
(bool) strip
(pathList) bundles
(pathList) plugins
(string) pluginPath
(bool) autoUpgrade
(bool) warnings
(bool) errors
(bool) notices
and of course, (stringList)flags because ibtool has such a massive amount of options we can't possibly provide properties for all of them given that normal usage is unlikely to ever encounter the majority of them.