In response of gcc/clang's command switch "-isystem" VS2017 v15.6 gained a new switch "/external:I" for supporting external/system include paths to prevent warning from third-party headers. CMake should make use of it.

A closer description can be found here: https://blogs.msdn.microsoft.com/vcblog/2017/12/13/broken-warnings-theory/