aboutsummaryrefslogtreecommitdiff
path: root/scripts/getWindowsSDK.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/getWindowsSDK.ps1')
-rw-r--r--scripts/getWindowsSDK.ps142
1 files changed, 42 insertions, 0 deletions
diff --git a/scripts/getWindowsSDK.ps1 b/scripts/getWindowsSDK.ps1
new file mode 100644
index 000000000..650e0b4ed
--- /dev/null
+++ b/scripts/getWindowsSDK.ps1
@@ -0,0 +1,42 @@
+[CmdletBinding()]
+param(
+
+)
+
+$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition
+$programFiles32 = & $scriptsDir\getProgramFiles32bit.ps1
+$programFilesP = & $scriptsDir\getProgramFilesPlatformBitness.ps1
+$CandidateProgramFiles = $programFiles32, $programFilesP
+
+# Windows 10 SDK
+foreach ($ProgramFiles in $CandidateProgramFiles)
+{
+ $folder = "$ProgramFiles\Windows Kits\10\Include"
+ if (!(Test-Path $folder))
+ {
+ continue
+ }
+
+ $win10sdkVersions = @(Get-ChildItem $folder | Where-Object {$_.Name -match "^10"} | Sort-Object)
+ [array]::Reverse($win10sdkVersions) # Newest SDK first
+
+ foreach ($win10sdkV in $win10sdkVersions)
+ {
+ if (Test-Path "$folder\$win10sdkV\um\windows.h")
+ {
+ return $win10sdkV.ToString()
+ }
+ }
+}
+
+# Windows 8.1 SDK
+foreach ($ProgramFiles in $CandidateProgramFiles)
+{
+ $folder = "$ProgramFiles\Windows Kits\8.1\Include"
+ if (Test-Path $folder)
+ {
+ return "8.1"
+ }
+}
+
+throw "Could not detect a Windows SDK / TargetPlatformVersion" \ No newline at end of file