New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SR-6180] Foundation build is not incremental #3798
Comments
@swift-ci create |
The Docs/GettingStarted.md contains this instruction: -~~~~8<~~~~- The default build script does not include Foundation. To build Foundation and XC ``` This will build and run the Foundation tests, in the Debug configuration. After the complete Swift build has finished, you can iterate quickly on Foundati |
Note that also on Darwin, you can iterate quickly on Foundation using Xcode, which allows for incremental development and testing. However, with the move of everything to CMake files, perhaps creating a CMake build system for Foundation would be a possible approach? Right now, the top-level configuration script builds everything, but that's a function of how it's implemented rather than a necessity. |
The above two approaches work when you're just developing on Foundation but not when you need to invoke swift's build script multiple times. Due to this, we end up recompiling SwiftPM as well. We should definitely try to move to CMake given all other projects are doing so and we can solve the incremental build issue. |
Right. Foundation is non-incremental today because you'd need to specify dependencies on both Swift itself and any libraries it imports (the stdlib and Dispatch). We don't have a good way to do that in the separated build-script-based build, but if we get everything in one big CMake umbrella then we've got a chance. |
That sounds promising! |
swift-corelibs-foundation now uses CMake for an incremental build. https://github.com/apple/swift-corelibs-foundation/blob/master/Docs/GettingStarted.md has been updated to show how to use the |
Additional Detail from JIRA
md5: d0e998118cb0e130e383e00c78c0268f
relates to:
Issue Description:
The foundation sources are recompiled every time from scratch. This is obviously not a good workflow for contributors.
The text was updated successfully, but these errors were encountered: