We have a product which targets a large variety of platforms. Compilation for some of those platforms is using MSVC rather than clang.
We are using the clang libtooling interface where we provide a compile_commands.json file to indicate how to compile each translation unit. How does clang use the provided compile_commands.json information? Does it use all the flags, but run it through its own compiler? Is it possible to use libtooling with a compile_commands.json having instructions on MSVC compilation? Our compile_commands.json for each platform is created by our internal build system, similarly to how cmake would generate it.