This repository has been archived by the owner on Aug 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Migrate iOS targets to checked-in Xcode projects #3275
Comments
Merged
Merged
This was referenced Mar 4, 2016
GitHub, that was the subjunctive mood, not the indicative. |
lol |
14 tasks
Merged
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Currently, on OS X, all libraries and executables are built by Xcode projects generated by gyp. This system is ill-suited for iOS and OS X development: for instance, to add a file to the iOS SDK, you need to move the file to the right folder,
git add
the file, and finally edit the appropriate .gypi file to include it. The process gets even more involved when adding a new target, such as a test bundle: you need to essentially reverse-engineer Xcode’s template for that target to ensure that all the required build settings are persisted across invocations ofmake iproj
.We should migrate the platform-ios and iosapp targets to a checked-in Xcode project, similar to the ios-tests.xcodeproj that’s already checked in. Adding a new file thus becomes a matter of adding it in Xcode (which handles git and any required build phase updates automatically). If folks are uncomfortable with the idea of maintaining build settings in a .pbxproj file, we can put those settings in .xcconfig files (example), which are less prone to conflicts.
The new Xcode project would continue to depend on the output of gyp-generated core projects. We’d probably check in a workspace that ties together all the projects to ensure that they get built together. With these changes, we’ll also be able to remove much of the shell scripting that forms the final part of the iOS SDK build process.
/cc @mapbox/gl
The text was updated successfully, but these errors were encountered: