From 9750fff02717a4e71a4765bdf10835d4d8706fdf Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Fri, 8 Jun 2018 13:31:57 -0700 Subject: [PATCH] [bootstrap] Add option to specify WinSDK --- scripts/bootstrap.ps1 | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index d3ea2a6f29dd17..5a6a4194389feb 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -1,7 +1,8 @@ [CmdletBinding()] param( [ValidateNotNullOrEmpty()][string]$disableMetrics = "0", - [Parameter(Mandatory=$False)][string]$withVSPath = "" + [Parameter(Mandatory=$False)][string]$withVSPath = "", + [Parameter(Mandatory=$False)][string]$withWinSDK = "" ) Set-StrictMode -Version Latest $scriptsDir = split-path -parent $script:MyInvocation.MyCommand.Definition @@ -169,7 +170,8 @@ function findAnyMSBuildWithCppPlatformToolset([string]$withVSPath) throw "Could not find MSBuild version with C++ support. VS2015 or VS2017 (with C++) needs to be installed." } function getWindowsSDK( [Parameter(Mandatory=$False)][switch]$DisableWin10SDK = $False, - [Parameter(Mandatory=$False)][switch]$DisableWin81SDK = $False) + [Parameter(Mandatory=$False)][switch]$DisableWin81SDK = $False, + [Parameter(Mandatory=$False)][string]$withWinSDK) { if ($DisableWin10SDK -and $DisableWin81SDK) { @@ -270,6 +272,19 @@ function getWindowsSDK( [Parameter(Mandatory=$False)][switch]$DisableWin10SDK = } # Selecting + if ($withWinSDK -ne "") + { + foreach ($instance in $validInstances) + { + if ($instance -eq $withWinSDK) + { + return $instance + } + } + + throw "Could not find the requested Windows SDK version: $withWinSDK" + } + foreach ($instance in $validInstances) { if (!$DisableWin10SDK -and $instance -match "10.") @@ -289,7 +304,7 @@ function getWindowsSDK( [Parameter(Mandatory=$False)][switch]$DisableWin10SDK = $msbuildExeWithPlatformToolset = findAnyMSBuildWithCppPlatformToolset $withVSPath $msbuildExe = $msbuildExeWithPlatformToolset[0] $platformToolset = $msbuildExeWithPlatformToolset[1] -$windowsSDK = getWindowsSDK +$windowsSDK = getWindowsSDK -withWinSDK $withWinSDK $arguments = ( "`"/p:VCPKG_VERSION=-nohash`"",