Skip to content

Instantly share code, notes, and snippets.

@lynxluna
Created March 20, 2024 06:53
Show Gist options
  • Save lynxluna/bdf4bfc93d62ce7a2c4468ea75e8fb3a to your computer and use it in GitHub Desktop.
Save lynxluna/bdf4bfc93d62ce7a2c4468ea75e8fb3a to your computer and use it in GitHub Desktop.
param(
[string]$BaseDir = "C:\BuildTools",
[string]$WindowsSDKVersion = "10.0.22621.0",
[string]$VCToolsVersion = "14.39.33519",
[string]$TargetArch = "x64"
)
# Set base directories using the BaseDir parameter
$WindowsSDKDir = "$BaseDir\Windows Kits\10"
$VCToolsInstallDir = "$BaseDir\VC\Tools\MSVC\$VCToolsVersion\"
$VSCMD_ARG_TGT_ARCH = $TargetArch
# Set specific directories based on versions
$MSVC_BIN = "$BaseDir\VC\Tools\MSVC\$VCToolsVersion\bin\Host$TargetArch\$TargetArch"
$SDK_BIN = "$BaseDir\Windows Kits\10\bin\$WindowsSDKVersion\$TargetArch;$BaseDir\Windows Kits\10\bin\$WindowsSDKVersion\$TargetArch\ucrt"
# Update environment variables for the session
$Env:WindowsSDKDir = $WindowsSDKDir
$Env:WindowsSDKVersion = $WindowsSDKVersion
$Env:VCToolsInstallDir = $VCToolsInstallDir
$Env:VSCMD_ARG_TGT_ARCH = $VSCMD_ARG_TGT_ARCH
$Env:PATH = "$MSVC_BIN;$SDK_BIN;" + $Env:PATH
$Env:INCLUDE = "$BaseDir\VC\Tools\MSVC\$VCToolsVersion\include;$BaseDir\Windows Kits\10\Include\$WindowsSDKVersion\ucrt;$BaseDir\Windows Kits\10\Include\$WindowsSDKVersion\shared;$BaseDir\Windows Kits\10\Include\$WindowsSDKVersion\um;$BaseDir\Windows Kits\10\Include\$WindowsSDKVersion\winrt;$BaseDir\Windows Kits\10\Include\$WindowsSDKVersion\cppwinrt"
$Env:LIB = "$BaseDir\VC\Tools\MSVC\$VCToolsVersion\lib\$TargetArch;$BaseDir\Windows Kits\10\Lib\$WindowsSDKVersion\ucrt\$TargetArch;$BaseDir\Windows Kits\10\Lib\$WindowsSDKVersion\um\$TargetArch"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment