Repository navigation
Conversation
Bumping minimum required to CMake 3.29. This means that CMP0067, CMP0076, and CMP0077 will all be automatically set to the new behavior. This also means that CMP0068 is guaranteed to be a recognized policy so we don't need to guard it. If the policy stops existing in the future, we want the configuration to fail.
`add_pure_swift_host_library` touched things, which caused rebuilds. By requiring CMake 3.29, we can drop the touching and rebuilding.
Member
Author
|
@swift-ci please test |
compnerd
approved these changes
Aug 27, 2026
compnerd
left a comment
Member
There was a problem hiding this comment.
Would be nice to adopt the new RPATH policy as well.
Member
Author
|
@swift-ci please test |
Newer versions of CMake try to pass the target name as the module if one is not set explicitly. The target name contains hyphens, which is not valid. Set it explicitly to avoid the hyphens.
etcwilde
force-pushed
the
dont-touch-my-moustache
branch
from
August 28, 2026 02:31
bf047b2 to
dab4ad7
Compare
Member
Author
|
@swift-ci please test |
Member
Author
|
@swift-ci please test Linux Platform |
Member
|
@swift-ci please test Linux platform |
The newer behavior in CMake does a better job isolating modules from users that don't declare their dependencies correctly. As a result, several libraries failed to build because they couldn't find the appropriate Swift module files from Swift Syntax. Adding the missing dependency edges.
Member
Author
|
swiftlang/swift-syntax#3423 |
hamishknight
approved these changes
Sep 2, 2026
Member
Author
|
swiftlang/swift-syntax#3423 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Swift-Syntax bumped minimum required CMake versions to 3.29. For whatever reason, that caused the code introduced in #70859 to start working as designed and invalidate the build graph on every run. That was to work around a bug in versions of CMake prior to 3.26, but has since been fixed. The compiler depends on Swift-Syntax, which requires 3.29, so also bumping the compiler while we're at it to take advantage of the improved Swift handling. Since we're jumping to something newer that has the bug fixed, we can drop the code that forces a full rebuild of the universe.
With this change, I am able to get to a null-build:
I will note that this isn't perfect and that more invasive changes are needed to fully clean things up, this is to alleviate the constant forced rebuild.
I've also taken the opportunity to remove some of the redundant policy settings.