diff options
-rw-r--r-- | gn/BUILD.gn | 96 | ||||
-rw-r--r-- | gn/BUILDCONFIG.gn | 7 | ||||
-rw-r--r-- | gn/highest_version_dir.py | 13 | ||||
-rw-r--r-- | gn/toolchain/BUILD.gn | 2 |
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") |