CMake: Set language version across supplemental libs #84525
Merged
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.
The Swift language version appears in the Swift interface and impacts how the interface is handled by the compiler when importing the module. The version only appears if it is set, which means that downstream projects setting the version explicitly may interpret the swift interface file differently.
This also factors the setting out into a separate file, which is used to set the C++ standard and Swift language version since it is the same across these libraries at this time. If this assumption changes, we can refactor as necessary and this structure shouldn't be seen as enforcement.
Finally, this patch moves setting the language version and standard variables before the languages are enabled. This ensures that the try-compile applies the appropriate flags when verifying that the compiler works.