You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.
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 of make 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:
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: