1# force the CA cert cache to be rebuilt, in case Meson tries to access anything
2Write-Host "Refreshing Windows TLS CA cache"
3(New-Object System.Net.WebClient).DownloadString("https://github.com") >$null
4
5$env:PYTHONUTF8=1
6
7Get-Date
8Write-Host "Compiling Mesa"
9$builddir = New-Item -ItemType Directory -Name "_build"
10$installdir = New-Item -ItemType Directory -Name "_install"
11Push-Location $builddir.FullName
12cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 && meson --default-library=shared -Dzlib:default_library=static --buildtype=release -Db_ndebug=false -Dc_std=c17 -Dcpp_std=vc++latest -Db_vscrt=mt --cmake-prefix-path=`"C:\llvm-10`" --pkg-config-path=`"C:\llvm-10\lib\pkgconfig;C:\llvm-10\share\pkgconfig;C:\spirv-tools\lib\pkgconfig`" --prefix=`"$installdir`" -Dllvm=enabled -Dshared-llvm=disabled -Dvulkan-drivers=swrast,amd -Dgallium-drivers=swrast,d3d12,zink -Dshared-glapi=enabled -Dgles2=enabled -Dmicrosoft-clc=enabled -Dstatic-libclc=all -Dspirv-to-dxil=true -Dbuild-tests=true -Dwerror=true -Dwarning_level=2 -Dzlib:warning_level=1 -Dlibelf:warning_level=1 && ninja -j32 install && meson test --num-processes 32"
13$buildstatus = $?
14Pop-Location
15
16Get-Date
17
18if (!$buildstatus) {
19  Write-Host "Mesa build or test failed"
20  Exit 1
21}
22
23Copy-Item ".\.gitlab-ci\windows\piglit_run.ps1" -Destination $installdir
24Copy-Item ".\.gitlab-ci\windows\quick_gl.txt" -Destination $installdir
25