#!/bin/bash
# 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
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Convert to Windows path if running under WSL
if command -v wslpath &> /dev/null; then
BUNDLE_ROOT=$(wslpath -w "$SCRIPT_DIR")
else
BUNDLE_ROOT="$SCRIPT_DIR"
fi
# VC paths
export VCINSTALLDIR="$BUNDLE_ROOT/VC"
export VCToolsInstallDir="$BUNDLE_ROOT/VC/Tools/MSVC/{{ msvc_version }}"
export VCToolsVersion="{{ msvc_version }}"
# SDK paths
export WindowsSdkDir="$BUNDLE_ROOT/Windows Kits/10"
export WindowsSDKVersion="{{ sdk_version }}\\"
export WindowsSdkBinPath="$BUNDLE_ROOT/Windows Kits/10/bin/{{ sdk_version }}"
# INCLUDE paths
export INCLUDE="$BUNDLE_ROOT/VC/Tools/MSVC/{{ msvc_version }}/include"
export INCLUDE="$INCLUDE;$BUNDLE_ROOT/Windows Kits/10/Include/{{ sdk_version }}/ucrt"
export INCLUDE="$INCLUDE;$BUNDLE_ROOT/Windows Kits/10/Include/{{ sdk_version }}/shared"
export INCLUDE="$INCLUDE;$BUNDLE_ROOT/Windows Kits/10/Include/{{ sdk_version }}/um"
export INCLUDE="$INCLUDE;$BUNDLE_ROOT/Windows Kits/10/Include/{{ sdk_version }}/winrt"
export INCLUDE="$INCLUDE;$BUNDLE_ROOT/Windows Kits/10/Include/{{ sdk_version }}/cppwinrt"
# LIB paths
export LIB="$BUNDLE_ROOT/VC/Tools/MSVC/{{ msvc_version }}/lib/{{ arch }}"
export LIB="$LIB;$BUNDLE_ROOT/Windows Kits/10/Lib/{{ sdk_version }}/ucrt/{{ arch }}"
export LIB="$LIB;$BUNDLE_ROOT/Windows Kits/10/Lib/{{ sdk_version }}/um/{{ arch }}"
# PATH additions
export PATH="$BUNDLE_ROOT/VC/Tools/MSVC/{{ msvc_version }}/bin/{{ host_arch }}/{{ target_arch }}:$PATH"
export PATH="$BUNDLE_ROOT/Windows Kits/10/bin/{{ sdk_version }}/{{ arch }}:$PATH"
# Platform info
export Platform="{{ arch }}"
export VSCMD_ARG_HOST_ARCH="{{ arch }}"
export VSCMD_ARG_TGT_ARCH="{{ arch }}"
echo "MSVC Toolchain activated (MSVC {{ msvc_version }}, SDK {{ sdk_version }}, {{ arch }})"