SCons: Detect msvc compiler version #91069
Draft
+106
−89
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.
Expands the functionality of
get_compiler_version
by supporting msvc as an environment. Currently sets the display version to major/minor/patch as it's a 3-int tuple already, and the full version is assigned to metadata1. Doing so allows us to cutoff unsupported Visual Studio versions (anything earlier than modern VS2017) like we do with GCC/Clang. What's more, we can apply a C standard for msvc on supported versions (16.8 and later).During this process, I also created the
CompilerVersion
class, which replaces the previous dictionary implementation. This grants proper type-awareness & helped cleanup redundancies in bothget_compiler_version
and any script using that function.