gitlab-ci: Add a job for meson on windows

This adds a new CI job that runs on windows with MSVC. It currently
builds softpipe and osmesa, and runs the related unit tests. It does
rely on meson's wraps for zlib, but I've set up caching of the wrap
dependencies so hopefully that wont be a problem.

I really wanted to user powershell for this, but there just isn't an
easy way to do that, it's much easier to use batch scripts, so thats
what I used.

The leading `/` for .gitlab-ci/lava... must be removed because windows
doesn't understand it, and when it reads the file the job ends in error.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
This commit is contained in:
Dylan Baker 2019-10-23 14:36:19 -07:00
parent 06e4647cb0
commit 19851c9ad6
2 changed files with 32 additions and 1 deletions

View File

@ -29,7 +29,7 @@ include:
file: '/templates/debian.yml'
include:
- local: '/.gitlab-ci/lava-gitlab-ci.yml'
- local: '.gitlab-ci/lava-gitlab-ci.yml'
stages:
- container
@ -142,6 +142,15 @@ debian-10:arm64:
- export CCACHE_DIR="$PWD/ccache"
- ccache --show-stats
.build-windows:
extends: .build-common
tags:
- mesa-windows
cache:
key: ${CI_JOB_NAME}
paths:
- subprojects/packagecache
.meson-build:
extends:
- .build-linux
@ -269,6 +278,15 @@ meson-clang:
CC: "ccache clang-8"
CXX: "ccache clang++-8"
meson-windows:
extends:
- .build-windows
before_script:
- $ENV:ARCH = "x86"
- $ENV:VERSION = "2019\Community"
script:
- cmd /C .gitlab-ci\meson-build.bat
scons-swr:
extends: .scons-build
variables:

View File

@ -0,0 +1,13 @@
call "C:\Program Files (x86)\Microsoft Visual Studio\%VERSION%\Common7\Tools\VsDevCmd.bat" -arch=%ARCH%
del /Q /S _build
meson _build ^
-Dbuild-tests=true ^
-Db_vscrt=mtd ^
-Dbuildtype=release ^
-Dllvm=false ^
-Dgallium-drivers=swrast ^
-Dosmesa=gallium
meson configure _build
ninja -C _build
ninja -C _build test