Audit MSVC references in cmake files to consider clang++ #1669
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.
There are three major compilers on Windows targeting the MSVC ABI (i.e. linking with microsofts STL etc.):
MSVC
clang-cl
aka clang with the MSVC compatible CLIclang++
aka clang with gcc compatible CLIThe cmake variable
MSVC
is only set for the first two as it defined in terms of the CLI interface provided:(from cmake docs)
For many of the checks in the library its the ABI that matters not the cmdline, so check
CMAKE_CXX_SIMULATE_ID
too, if it isMSVC
the current compiler is targeting the MSVC ABI. This handlesclang++
Fixes: #1597