yonaskolb / XcodeGen

A Swift command line tool for generating your Xcode project
MIT License
6.9k stars 810 forks source link

Updates project object version to support `BuildIndependentTargetsInParallel` setting #1368

Closed leonardorock closed 11 months ago

leonardorock commented 1 year ago

Hi, I've been trying to implement the XcodeGen to a project and the generated project would always end up with a warning about the new "Parallelize build for command-line builds", after some investigation I've discovered that the attribute key that sets this value is BuildIndependentTargetsInParallel, and without updating the object version of the .pbxproj file this setting is completely ignored by Xcode.

This also would fix a open issue #1362

Discussion

I believe that this setting should be default from now on since that's the default setting when creating a new App from Xcode. This PR doesn't set this value as default but allows it to be overwritten and interpreted by Xcode.

Setting "Parallelize build for command-line builds"

To enable the Parallelize build for command-line builds configuration add this to the project.yml file

attributes:
  BuildIndependentTargetsInParallel: YES

The project configuration section should have the "Parallelize build for command-line builds" checked ✅

Screenshot 2023-06-26 at 4 52 35 PM

Environment

leonardorock commented 11 months ago

Thank you @yonaskolb, the CHANGELOG.md has been updated as requested.