Index: build/config/win/visual_studio_version.gni |
diff --git a/build/config/win/visual_studio_version.gni b/build/config/win/visual_studio_version.gni |
index c73f98af5116ada6f5a2622f12483b9314155503..c0b18c73bfd4bd3c260158cd9802284a85d9f1af 100644 |
--- a/build/config/win/visual_studio_version.gni |
+++ b/build/config/win/visual_studio_version.gni |
@@ -20,6 +20,11 @@ declare_args() { |
# This value is the default location, override if you have a different |
# installation location. |
windows_sdk_path = "C:\Program Files (x86)\Windows Kits\8.0" |
+ |
+ # The list of include directories that are treated as "system" include |
+ # directories. TODO(scottmg): These are incorrectly put on the command line |
+ # in GN, they should really be stored into %INCLUDE%. |
+ system_include_dirs = [] |
} |
if (visual_studio_path == "") { |
@@ -38,3 +43,22 @@ if (visual_studio_path == "") { |
# Set when using the "Express" version of a Visual Studio version we support. |
is_visual_studio_express = (visual_studio_version == "2013e") |
+ |
+ |
+# The Windows SDK include directories must be first. They both have a sal.h, |
+# and the SDK one is newer and the SDK uses some newer features from it not |
+# present in the Visual Studio one. |
+system_include_dirs = [ |
+ "$windows_sdk_path\Include\shared", |
+ "$windows_sdk_path\Include\um", |
+ "$windows_sdk_path\Include\winrt", |
+ "$visual_studio_path\VC\include", |
+ "$visual_studio_path\VC\atlmfc\include", |
+] |
+ |
+if (is_visual_studio_express) { |
+ system_include_dirs += [ |
+ "$wdk_path/inc/atl71", |
+ "$wdk_path/inc/mfc42", |
+ ] |
+} |