# Powershell script to set up MSVC environment.
# SPDX-FileCopyrightText: The Eigen Authors
# SPDX-License-Identifier: MPL-2.0

param ($EIGEN_CI_MSVC_ARCH, $EIGEN_CI_MSVC_VER)
function Get-ScriptDirectory { Split-Path $MyInvocation.ScriptName }
       
# Set defaults if not already set.
IF (!$EIGEN_CI_MSVC_ARCH)             { $EIGEN_CI_MSVC_ARCH             = "x64" }
IF (!$EIGEN_CI_MSVC_VER)              { $EIGEN_CI_MSVC_VER              = "14.29" }

# Export variables into the global scope
$global:EIGEN_CI_MSVC_ARCH             = $EIGEN_CI_MSVC_ARCH
$global:EIGEN_CI_MSVC_VER              = $EIGEN_CI_MSVC_VER

# Find Visual Studio installation directory.
$global:VS_INSTALL_DIR = &"${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath
# Run VCVarsAll.bat incitialization script and extract environment variables.
# http://allen-mack.blogspot.com/2008/03/replace-visual-studio-command-prompt.html
cmd.exe /c "`"${VS_INSTALL_DIR}\VC\Auxiliary\Build\vcvarsall.bat`" $EIGEN_CI_MSVC_ARCH -vcvars_ver=$EIGEN_CI_MSVC_VER & set" | foreach { if ($_ -match "=") { $v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])" } }