aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--gn/BUILD.gn96
-rw-r--r--gn/BUILDCONFIG.gn7
-rw-r--r--gn/highest_version_dir.py13
-rw-r--r--gn/toolchain/BUILD.gn2
4 files changed, 71 insertions, 47 deletions
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index 363965fa98..fa2f91d4ab 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -54,32 +54,34 @@ config("default") {
"NOMINMAX",
]
- _include_dirs = [
- #2017
- "$windk/VC/Tools/MSVC/14.10.25017/include",
-
- #2015
- "$windk/VC/include",
-
- # For local builds.
+ if (msvc == 2015) {
+ _include_dirs = [
+ "$windk/VC/include",
+
+ # For local builds.
+ "$windk/../Windows Kits/8.1/Include/shared",
+ "$windk/../Windows Kits/10/Include/10.0.10150.0/ucrt",
+ "$windk/../Windows Kits/8.1/Include/um",
+ "$windk/../Windows Kits/8.1/Include/winrt",
+
+ # For builds using win_toolchain asset (currently 2015).
+ "$windk/win_sdk/Include/10.0.14393.0/shared",
+ "$windk/win_sdk/Include/10.0.14393.0/ucrt",
+ "$windk/win_sdk/Include/10.0.14393.0/um",
+ "$windk/win_sdk/Include/10.0.14393.0/winrt",
+ ]
+ } else {
# 2017
- "$windk/../../../Windows Kits/10/Include/10.0.14393.0/shared",
- "$windk/../../../Windows Kits/10/Include/10.0.14393.0/ucrt",
- "$windk/../../../Windows Kits/10/Include/10.0.14393.0/um",
- "$windk/../../../Windows Kits/10/Include/10.0.14393.0/winrt",
-
- # 2015
- "$windk/../Windows Kits/8.1/Include/shared",
- "$windk/../Windows Kits/10/Include/10.0.10150.0/ucrt",
- "$windk/../Windows Kits/8.1/Include/um",
- "$windk/../Windows Kits/8.1/Include/winrt",
-
- # For builds using win_toolchain asset.
- "$windk/win_sdk/Include/10.0.14393.0/shared",
- "$windk/win_sdk/Include/10.0.14393.0/ucrt",
- "$windk/win_sdk/Include/10.0.14393.0/um",
- "$windk/win_sdk/Include/10.0.14393.0/winrt",
- ]
+ _include_dirs = [
+ "$windk/VC/Tools/MSVC/$win_toolchain_version/include",
+
+ # For local builds.
+ "$windk/../../../Windows Kits/10/Include/10.0.14393.0/shared",
+ "$windk/../../../Windows Kits/10/Include/10.0.14393.0/ucrt",
+ "$windk/../../../Windows Kits/10/Include/10.0.14393.0/um",
+ "$windk/../../../Windows Kits/10/Include/10.0.14393.0/winrt",
+ ]
+ }
if (is_clang) {
foreach(dir, _include_dirs) {
cflags += [
@@ -91,29 +93,31 @@ config("default") {
include_dirs = _include_dirs
}
- lib_dirs = [
- # For local builds.
+ if (msvc == 2015) {
+ lib_dirs = [
+ # For local builds.
+ "$windk/../Windows Kits/10/Lib/10.0.10150.0/ucrt/$target_cpu",
+ "$windk/../Windows Kits/8.1/Lib/winv6.3/um/$target_cpu",
+
+ # For builds using win_toolchain asset (currently 2015).
+ "$windk/win_sdk/Lib/10.0.14393.0/ucrt/$target_cpu",
+ "$windk/win_sdk/Lib/10.0.14393.0/um/$target_cpu",
+ ]
+
+ if (target_cpu == "x86") {
+ lib_dirs += [ "$windk/VC/lib" ]
+ } else {
+ lib_dirs += [ "$windk/VC/lib/amd64" ]
+ }
+ } else {
# 2017
- "$windk/../../../Windows Kits/10/Lib/10.0.14393.0/ucrt/$target_cpu",
- "$windk/../../../Windows Kits/10/Lib/10.0.14393.0/um/$target_cpu",
-
- #2015
- "$windk/../Windows Kits/10/Lib/10.0.10150.0/ucrt/$target_cpu",
- "$windk/../Windows Kits/8.1/Lib/winv6.3/um/$target_cpu",
-
- # For builds using win_toolchain asset.
- "$windk/win_sdk/Lib/10.0.14393.0/ucrt/$target_cpu",
- "$windk/win_sdk/Lib/10.0.14393.0/um/$target_cpu",
- ]
-
- #2017
- lib_dirs += [ "$windk/VC/Tools/MSVC/14.10.25017/lib/$target_cpu" ]
+ lib_dirs = [
+ "$windk/VC/Tools/MSVC/$win_toolchain_version/lib/$target_cpu",
- #2015
- if (target_cpu == "x86") {
- lib_dirs += [ "$windk/VC/lib" ]
- } else {
- lib_dirs += [ "$windk/VC/lib/amd64" ]
+ # For local builds.
+ "$windk/../../../Windows Kits/10/Lib/10.0.14393.0/ucrt/$target_cpu",
+ "$windk/../../../Windows Kits/10/Lib/10.0.14393.0/um/$target_cpu",
+ ]
}
} else {
cflags += [
diff --git a/gn/BUILDCONFIG.gn b/gn/BUILDCONFIG.gn
index b81680aa88..413f660a79 100644
--- a/gn/BUILDCONFIG.gn
+++ b/gn/BUILDCONFIG.gn
@@ -35,6 +35,7 @@ declare_args() {
windk = "C:/Program Files (x86)/Microsoft Visual Studio 14.0"
} else {
windk = "C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional"
+ win_toolchain_version = ""
}
}
@@ -182,6 +183,12 @@ set_defaults("component") {
}
if (is_win) {
+ if (msvc == 2017 && win_toolchain_version == "") {
+ win_toolchain_version = exec_script("//gn/highest_version_dir.py",
+ [ "$windk/VC/Tools/MSVC" ],
+ "trim string")
+ }
+
# Windows tool chain
set_default_toolchain("//gn/toolchain:msvc")
default_toolchain_name = "msvc"
diff --git a/gn/highest_version_dir.py b/gn/highest_version_dir.py
new file mode 100644
index 0000000000..650154e4f3
--- /dev/null
+++ b/gn/highest_version_dir.py
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+#
+# Copyright 2017 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import os
+import sys
+
+dirpath, = sys.argv[1:]
+
+print sorted(os.listdir(dirpath))[-1]
diff --git a/gn/toolchain/BUILD.gn b/gn/toolchain/BUILD.gn
index 59d83e43d7..7497bcb690 100644
--- a/gn/toolchain/BUILD.gn
+++ b/gn/toolchain/BUILD.gn
@@ -41,7 +41,7 @@ toolchain("msvc") {
env_setup = "cmd /c $windk/win_sdk/bin/SetEnv.cmd /x86 && "
}
} else {
- bin = "$windk/VC/Tools/MSVC/14.10.25017/bin/HostX64/$target_cpu"
+ bin = "$windk/VC/Tools/MSVC/$win_toolchain_version/bin/HostX64/$target_cpu"
env_setup = ""
if (target_cpu == "x86") {
print("Be sure to run")