# Portable MSVC Toolchain Activation Script
# Generated by msvc-kit
# MSVC: {{ msvc_version }}, SDK: {{ sdk_version }}, Arch: {{ arch }}
# Get the directory where this script is located
$BundleRoot = $PSScriptRoot
# VC paths
$env:VCINSTALLDIR = "$BundleRoot\VC"
$env:VCToolsInstallDir = "$BundleRoot\VC\Tools\MSVC\{{ msvc_version }}"
$env:VCToolsVersion = "{{ msvc_version }}"
# SDK paths
$env:WindowsSdkDir = "$BundleRoot\Windows Kits\10"
$env:WindowsSDKVersion = "{{ sdk_version }}\"
$env:WindowsSdkBinPath = "$BundleRoot\Windows Kits\10\bin\{{ sdk_version }}"
# INCLUDE paths
$env:INCLUDE = @(
"$BundleRoot\VC\Tools\MSVC\{{ msvc_version }}\include",
"$BundleRoot\Windows Kits\10\Include\{{ sdk_version }}\ucrt",
"$BundleRoot\Windows Kits\10\Include\{{ sdk_version }}\shared",
"$BundleRoot\Windows Kits\10\Include\{{ sdk_version }}\um",
"$BundleRoot\Windows Kits\10\Include\{{ sdk_version }}\winrt",
"$BundleRoot\Windows Kits\10\Include\{{ sdk_version }}\cppwinrt"
) -join ";"
# LIB paths
$env:LIB = @(
"$BundleRoot\VC\Tools\MSVC\{{ msvc_version }}\lib\{{ arch }}",
"$BundleRoot\Windows Kits\10\Lib\{{ sdk_version }}\ucrt\{{ arch }}",
"$BundleRoot\Windows Kits\10\Lib\{{ sdk_version }}\um\{{ arch }}"
) -join ";"
# PATH additions
$NewPaths = @(
"$BundleRoot\VC\Tools\MSVC\{{ msvc_version }}\bin\{{ host_arch }}\{{ target_arch }}",
"$BundleRoot\Windows Kits\10\bin\{{ sdk_version }}\{{ arch }}"
) -join ";"
$env:PATH = "$NewPaths;$env:PATH"
# Platform info
$env:Platform = "{{ arch }}"
$env:VSCMD_ARG_HOST_ARCH = "{{ arch }}"
$env:VSCMD_ARG_TGT_ARCH = "{{ arch }}"
Write-Host "MSVC Toolchain activated (MSVC {{ msvc_version }}, SDK {{ sdk_version }}, {{ arch }})"