diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/bootstrap.ps1 | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index d3ea2a6f2..5a6a41943 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`"", |
