Automatically build FoundationMacros for local CMake builds #844
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When building this project via CMake as a standalone project (not as part of a toolchain build) we automatically check out and build some dependencies such as swift-collections and swift-foundation-icu. Now that we've separated the macro build into a separate build, we need to do the same for FoundationMacros. This updates the CMake files so that when
SwiftFoundation_MACROS
is not specified, we add the macro target to the build graph and build a copy of the macro for the host to use while building the rest of the project. This builds the macro as an executable just like SwiftPM rather than as a library so that the macro can be built with a different copy of swift-syntax than what the compiler has.While I was here, I also added some logging messages when checking out the dependencies to make it clear what build settings you can specify for local copies, as well as indicate why a cmake configuration was taking a while during git cloning