Some of those versions use a GNU-compatible command line interface. Other versions use a MSVC-compatible command line interface (clang-cl).
Additionally, either of those versions could use a MSVC-compatible backend or a MinGW-compatible backend.
CMake sets the MSVC variable if the compiler uses a MSVC-compatible command line interface and a MSVC-compatible backend. The naming convention for import libraries differs between the MSVC-compatible (.lib) and MinGW-compatible backends (.dll.a).
Use the same naming conventions for static libraries that are used for MSVC also for the Clang that uses a MinGW-compatible command line interface but a MSVC-compatible backend.
There are different versions of Clang on Windows:
Some of those versions use a GNU-compatible command line interface. Other versions use a MSVC-compatible command line interface (
clang-cl
).Additionally, either of those versions could use a MSVC-compatible backend or a MinGW-compatible backend.
CMake sets the MSVC variable if the compiler uses a MSVC-compatible command line interface and a MSVC-compatible backend. The naming convention for import libraries differs between the MSVC-compatible (
.lib
) and MinGW-compatible backends (.dll.a
).Use the same naming conventions for static libraries that are used for MSVC also for the Clang that uses a MinGW-compatible command line interface but a MSVC-compatible backend.
This should be fixing #749.