| stages: |
| - build |
| |
| # FIXME: Use --werror once warnings are fixed. |
| variables: |
| MESON_ARGS: --fatal-meson-warnings |
| MESON_ARGS_WINDOWS: ${MESON_ARGS} --force-fallback-for=zlib |
| |
| .build meson windows: |
| # See |
| # https://gitlab.freedesktop.org/gstreamer/gst-ci/container_registry/213 |
| image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/windows:v14-master' |
| stage: 'build' |
| tags: |
| - 'docker' |
| - 'windows' |
| - '1809' |
| - 'gstreamer-windows' |
| variables: |
| # Make sure any failure in PowerShell scripts is fatal. |
| ErrorActionPreference: 'Stop' |
| WarningPreference: 'Stop' |
| # Uncomment the following key if need to pass custom args, as well with |
| # the `$env:MESON_ARGS` line in the `script:` blocks. |
| # MESON_ARGS: >- |
| # -Dfoo=enabled |
| # -Dbar=disabled |
| before_script: |
| # Make sure meson is up to date, so we don't need to rebuild the image |
| # with each release. |
| - pip3 install -U meson ninja |
| script: |
| # For some reason, options are separated by newlines instead of spaces, |
| # so we have to replace them first. |
| #- $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ") |
| # Gitlab executes PowerShell in docker, but `VsDevCmd.bat` is a batch |
| # script. Environment variables substitutions is done by PowerShell |
| # before calling `cmd.exe`, that's why we use `$env:FOO` instead of |
| # `%FOO%`. |
| - cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH && |
| meson setup build $env:MESON_ARGS_WINDOWS && |
| meson compile --verbose -C build && |
| meson test -C build && |
| meson test -C build --benchmark" |
| |
| meson vs2017 amd64: |
| extends: '.build meson windows' |
| variables: |
| ARCH: 'amd64' |
| |
| meson vs2017 x86: |
| extends: '.build meson windows' |
| variables: |
| ARCH: 'x86' |