clang-cl: Adding -imsvc breaks C++
clang-cl, as packaged with VS(haven't tested outside Github Actions), treats -imsvc differently than other compilers treat -isystem. It no longer supports things like alternate tokens (and/or/not/...) and this cannot be fixed without defining them manually as __cplusplus is set and it will get to the libc's ciso646.h that filters on that. It's a non-conforming mode in clang-cl
I believe this was a change in 3.19 by commit 2fc5e5db.
This is compounded by the behaviour of find_package not matching that of FetchContent where the library does not say SYSTEM in their cmakelists.txt, FetchContent will not treat them as such but find_package may.