Official mirror of https://gitlab.freedesktop.org/freetype/freetype
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
4.0 KiB
143 lines
4.0 KiB
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 windows common: |
|
# 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' |
|
|
|
.build linux common: |
|
# See |
|
# https://gitlab.freedesktop.org/freetype/docker-images/container_registry/20896 |
|
image: 'registry.freedesktop.org/freetype/docker-images/debian:latest' |
|
stage: 'build' |
|
|
|
.build windows meson: |
|
extends: '.build windows common' |
|
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" |
|
|
|
|
|
# Format of job names: |
|
# <OS> <Build-Tool> <Build-Params> <Architecture> |
|
|
|
|
|
# Windows jobs |
|
windows meson vs2017 amd64: |
|
extends: '.build windows meson' |
|
variables: |
|
ARCH: 'amd64' |
|
|
|
windows meson vs2017 x86: |
|
extends: '.build windows meson' |
|
variables: |
|
ARCH: 'x86' |
|
|
|
|
|
# Linux Jobs |
|
# Jobs with "libs" in the name force enable libraries. |
|
# They are disabled in rest of the jobs. |
|
linux autotools: |
|
extends: '.build linux common' |
|
script: | |
|
./autogen.sh |
|
./configure --with-brotli=no \ |
|
--with-bzip2=no \ |
|
--with-harfbuzz=no \ |
|
--with-png=no \ |
|
--with-zlib=no |
|
|
|
make -j$(nproc) && make install |
|
|
|
linux autotools libs: |
|
extends: '.build linux common' |
|
script: | |
|
./autogen.sh |
|
./configure --with-brotli=yes \ |
|
--with-bzip2=yes \ |
|
--with-harfbuzz=yes \ |
|
--with-png=yes \ |
|
--with-zlib=yes |
|
|
|
make -j$(nproc) && make install |
|
|
|
linux meson: |
|
extends: '.build linux common' |
|
script: | |
|
meson setup build -Dbrotli=disabled \ |
|
-Dbzip2=disabled \ |
|
-Dharfbuzz=disabled \ |
|
-Dpng=disabled \ |
|
-Dzlib=disabled |
|
|
|
meson compile --verbose -C build |
|
meson install -C build |
|
|
|
linux meson libs: |
|
extends: '.build linux common' |
|
script: | |
|
meson setup build -Dbrotli=enabled \ |
|
-Dbzip2=enabled \ |
|
-Dharfbuzz=disabled \ |
|
-Dpng=disabled \ |
|
-Dzlib=disabled |
|
|
|
meson compile --verbose -C build |
|
meson install -C build |
|
|
|
linux cmake: |
|
extends: '.build linux common' |
|
script: | |
|
cmake -B build -D FT_WITH_BROTLI=OFF \ |
|
-D FT_WITH_BZIP2=OFF \ |
|
-D FT_WITH_HARFBUZZ=OFF \ |
|
-D FT_WITH_PNG=OFF \ |
|
-D FT_WITH_ZLIB=OFF |
|
|
|
cmake --build build --target install |
|
|
|
linux cmake libs: |
|
extends: '.build linux common' |
|
script: | |
|
cmake -B build -D FT_WITH_BROTLI=ON \ |
|
-D FT_WITH_BZIP2=ON \ |
|
-D FT_WITH_HARFBUZZ=ON \ |
|
-D FT_WITH_PNG=ON \ |
|
-D FT_WITH_ZLIB=ON |
|
|
|
cmake --build build --target install
|
|
|