FROM mcr.microsoft.com/windows/servercore:ltsc2022 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"] RUN New-Item -ItemType Directory -Path 'C:\TEMP' -Force | Out-Null # Download and install Visual Studio Build Tools 2022 with C++ and CMake RUN Invoke-WebRequest -UseBasicParsing "https://aka.ms/vs/17/release/vs_buildtools.exe" -OutFile "C:\\TEMP\\vs_buildtools.exe" ; \ Start-Process "C:\\TEMP\\vs_buildtools.exe" -Wait -ArgumentList '--quiet', \ '--wait', \ '--norestart', \ '--nocache', \ '--add', 'Microsoft.VisualStudio.Workload.VCTools', \ '--add', 'Microsoft.VisualStudio.Component.VC.CMake.Project', \ '--add', 'Microsoft.VisualStudio.Component.Windows10SDK.19041', \ '--includeRecommended', \ '--installPath', 'C:\\BuildTools' # Install Rust using the installer RUN Invoke-WebRequest -Uri "https://win.rustup.rs" -OutFile "rustup-init.exe" ; \ Start-Process "rustup-init.exe" -Wait -ArgumentList '-y'; \ Remove-Item "rustup-init.exe" # Add Rust to PATH RUN setx PATH "$Env:USERPROFILE\\.cargo\\bin;$Env:PATH" RUN $cmakeMsi = 'C:\\TEMP\\cmake-3.21.10-windows-x86_64.msi'; \ Invoke-WebRequest -UseBasicParsing ` \ -Uri "https://github.com/Kitware/CMake/releases/download/v3.21.10/cmake-3.21.10-windows-x86_64.msi" ` \ -OutFile $cmakeMsi; \ Start-Process msiexec.exe -Wait -ArgumentList "/i `"$cmakeMsi`" ADD_CMAKE_TO_PATH=System /qn"; \ Remove-Item $cmakeMsi # Setup environment CMD ["cmd.exe"]