From https://github.com/lefticus/cppbestpractices/blob/master/02-Use_the_Tools_Available.md#MSVC The '/w14619' switch creates errors in qglobal.h and qvector.h.
Encapsulating compiler specific options in a separate file makes it easier to reason about what is going to happen on a specific qmake call. clang-msvc and msvc are separate because they don't support exactly the same compiler switches.