[bootstrap] Add option to specify WinSDK

This commit is contained in:
Alexander Karatarakis 2018-06-08 13:31:57 -07:00
parent 47d904608c
commit 9750fff027
1 changed files with 18 additions and 3 deletions

View File

@ -1,7 +1,8 @@
[CmdletBinding()] [CmdletBinding()]
param( param(
[ValidateNotNullOrEmpty()][string]$disableMetrics = "0", [ValidateNotNullOrEmpty()][string]$disableMetrics = "0",
[Parameter(Mandatory=$False)][string]$withVSPath = "" [Parameter(Mandatory=$False)][string]$withVSPath = "",
[Parameter(Mandatory=$False)][string]$withWinSDK = ""
) )
Set-StrictMode -Version Latest Set-StrictMode -Version Latest
$scriptsDir = split-path -parent $script:MyInvocation.MyCommand.Definition $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." 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, 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) if ($DisableWin10SDK -and $DisableWin81SDK)
{ {
@ -270,6 +272,19 @@ function getWindowsSDK( [Parameter(Mandatory=$False)][switch]$DisableWin10SDK =
} }
# Selecting # 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) foreach ($instance in $validInstances)
{ {
if (!$DisableWin10SDK -and $instance -match "10.") if (!$DisableWin10SDK -and $instance -match "10.")
@ -289,7 +304,7 @@ function getWindowsSDK( [Parameter(Mandatory=$False)][switch]$DisableWin10SDK =
$msbuildExeWithPlatformToolset = findAnyMSBuildWithCppPlatformToolset $withVSPath $msbuildExeWithPlatformToolset = findAnyMSBuildWithCppPlatformToolset $withVSPath
$msbuildExe = $msbuildExeWithPlatformToolset[0] $msbuildExe = $msbuildExeWithPlatformToolset[0]
$platformToolset = $msbuildExeWithPlatformToolset[1] $platformToolset = $msbuildExeWithPlatformToolset[1]
$windowsSDK = getWindowsSDK $windowsSDK = getWindowsSDK -withWinSDK $withWinSDK
$arguments = ( $arguments = (
"`"/p:VCPKG_VERSION=-nohash`"", "`"/p:VCPKG_VERSION=-nohash`"",