|
|
|
# CI setup for FreeType.
|
|
|
|
|
|
|
|
stages:
|
|
|
|
- build
|
|
|
|
|
|
|
|
# FIXME: Use --werror once warnings are fixed.
|
|
|
|
variables:
|
|
|
|
MESON_ARGS: --fatal-meson-warnings --default-library=both
|
|
|
|
MESON_ARGS_WINDOWS: ${MESON_ARGS} --force-fallback-for=zlib
|
|
|
|
|
|
|
|
.build windows common:
|
|
|
|
# TODO: should probably get its own image at some point instead of reusing the GStreamer one
|
|
|
|
# See https://gitlab.freedesktop.org/gstreamer/gstreamer/container_registry/18035 for latest
|
|
|
|
image: "registry.freedesktop.org/gstreamer/gstreamer/amd64/windows:2022-07-29.3-main"
|
|
|
|
stage: 'build'
|
|
|
|
tags:
|
|
|
|
- 'docker'
|
|
|
|
- 'windows'
|
|
|
|
- '2022'
|
|
|
|
- '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 macos common:
|
|
|
|
# stage: 'build'
|
|
|
|
# tags:
|
|
|
|
# - 'gst-macos-11.1'
|
|
|
|
|
|
|
|
.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 you 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:
|
|
|
|
# # Update RootCAs in order to access to some sites.
|
|
|
|
# - certutil -generateSSTFromWU "C:\roots.sst"
|
|
|
|
# - Import-Certificate -CertStoreLocation "Cert:\LocalMachine\Root" "C:\roots.sst"
|
|
|
|
# # Make sure meson is up to date so we don't need to rebuild the image
|
|
|
|
# # with each release.
|
|
|
|
# - pip3 install -U 'meson==0.59.*'
|
|
|
|
# - pip3 install --upgrade certifi
|
|
|
|
# - pip3 install -U ninja
|
|
|
|
#
|
|
|
|
# # Generate a UWP cross-file in case it's used
|
|
|
|
# - $PSDefaultParameterValues['Out-File:Encoding'] = 'ASCII'
|
|
|
|
# - echo "[binaries]" > uwp-crossfile.meson
|
|
|
|
# - echo "c = 'cl'" >> uwp-crossfile.meson
|
|
|
|
# - echo "strip = ['true']" >> uwp-crossfile.meson
|
|
|
|
# - echo "[built-in options]" >> uwp-crossfile.meson
|
|
|
|
# - echo "c_args = ['-DWINAPI_FAMILY=WINAPI_FAMILY_APP', '-DUNICODE', '-D_WIN32_WINNT=0x0A00', '-we4013']" >> uwp-crossfile.meson
|
|
|
|
# - echo "c_winlibs = ['windowsapp.lib']" >> uwp-crossfile.meson
|
|
|
|
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 "%VS120COMNTOOLS%\vsvars32.bat"
|
|
|
|
# - 'call "%VS120COMNTOOLS%\vsvars32.bat"'
|
|
|
|
# - call $env:VS120COMNTOOLS
|
|
|
|
- git submodule update --init --recursive
|
|
|
|
- cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH &&
|
|
|
|
MSBUILD.exe -t:Rebuild
|
|
|
|
-p:Configuration=Debug
|
|
|
|
-p:Platform=x64
|
|
|
|
-p:UserDefines=FT_DEBUG_LOGGING
|
|
|
|
MSBuild.sln"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Format of job names:
|
* Version 2.13.1 released.
==========================
Tag sources with `VER-2-13-1'.
* docs/VERSION.TXT: Add entry for version 2.13.1.
* docs/CHANGES: Updated.
* docs/release, docs/README, builds/macs/README: Updated.
* README, src/base/ftver.rc, builds/windows/vc2010/index.html,
builds/windows/visualc/index.html, builds/windows/visualce/index.html,
builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/index.html,
docs/freetype-config.1: s/2.13.0/2.13/1/, s/2130/2131/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
* builds/unix/configure.raw (version_info): Set to 26:0:20.
* CMakeLists.txt (VERSION_PATCH): Set to 1.
* subprojects/libpng.wrap, subprojects/zlib.wrap, subprojects/dlg: Updated.
2 years ago
|
|
|
# <OS> <Build-Tool> <Build-Params> <Architecture>
|
|
|
|
|
|
|
|
|
|
|
|
# Windows jobs.
|
|
|
|
|
|
|
|
windows meson vs2019 amd64:
|
|
|
|
extends: '.build windows meson'
|
|
|
|
variables:
|
|
|
|
ARCH: 'amd64'
|
|
|
|
MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark'
|
|
|
|
|
|
|
|
# windows meson vs2019 x86:
|
|
|
|
# extends: '.build windows meson'
|
|
|
|
# variables:
|
|
|
|
# ARCH: 'x86'
|
|
|
|
# MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark'
|
|
|
|
#
|
|
|
|
# windows meson vs2019 amd64 uwp:
|
|
|
|
# extends: '.build windows meson'
|
|
|
|
# variables:
|
|
|
|
# ARCH: 'amd64'
|
|
|
|
# VS_UWP: '-app_platform=UWP'
|
|
|
|
# MESON_ARGS_UWP: '--cross-file uwp-crossfile.meson -Dc_winlibs="windowsapp.lib"'
|
|
|
|
#
|
|
|
|
# # Linux Jobs.
|
|
|
|
# #
|
|
|
|
# # Jobs with "libs" in the name force-enable libraries.
|
|
|
|
# # They are disabled for the remaining 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 \
|
|
|
|
# CC=gcc
|
|
|
|
#
|
|
|
|
# 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 \
|
|
|
|
# CC=gcc
|
|
|
|
#
|
|
|
|
# make -j$(nproc) && make install
|
|
|
|
#
|
|
|
|
# linux autotools libs clang:
|
|
|
|
# extends: '.build linux common'
|
|
|
|
# script: |
|
|
|
|
# ./autogen.sh
|
|
|
|
# ./configure --with-brotli=yes \
|
|
|
|
# --with-bzip2=yes \
|
|
|
|
# --with-harfbuzz=yes \
|
|
|
|
# --with-png=yes \
|
|
|
|
# --with-zlib=yes \
|
|
|
|
# CC=clang
|
|
|
|
#
|
|
|
|
# make -j$(nproc) && make install
|
|
|
|
#
|
|
|
|
# linux meson:
|
|
|
|
# extends: '.build linux common'
|
|
|
|
# script: |
|
|
|
|
# meson setup build ${MESON_ARGS} \
|
|
|
|
# -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 ${MESON_ARGS} \
|
|
|
|
# -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_DISABLE_BROTLI=TRUE \
|
|
|
|
# -D FT_DISABLE_BZIP2=TRUE \
|
|
|
|
# -D FT_DISABLE_HARFBUZZ=TRUE \
|
|
|
|
# -D FT_DISABLE_PNG=TRUE \
|
|
|
|
# -D FT_DISABLE_ZLIB=TRUE
|
|
|
|
#
|
|
|
|
# cmake --build build --target install
|
|
|
|
#
|
|
|
|
# linux cmake libs:
|
|
|
|
# extends: '.build linux common'
|
|
|
|
# script: |
|
|
|
|
# cmake -B build -D FT_REQUIRE_BROTLI=TRUE \
|
|
|
|
# -D FT_REQUIRE_BZIP2=TRUE \
|
|
|
|
# -D FT_REQUIRE_HARFBUZZ=TRUE \
|
|
|
|
# -D FT_REQUIRE_PNG=TRUE \
|
|
|
|
# -D FT_REQUIRE_ZLIB=TRUE
|
|
|
|
#
|
|
|
|
# cmake --build build --target install
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# # MacOS jobs.
|
|
|
|
#
|
|
|
|
# macos autotools:
|
|
|
|
# extends: '.build macos common'
|
|
|
|
# before_script:
|
|
|
|
# - '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"'
|
|
|
|
# script:
|
|
|
|
# - brew install autoconf automake libtool
|
|
|
|
# - ./autogen.sh
|
|
|
|
# - ./configure
|
|
|
|
# - 'make -j$(sysctl -n hw.logicalcpu)'
|
|
|
|
# - make install
|
|
|
|
#
|
|
|
|
# macos autotools clang:
|
|
|
|
# extends: '.build macos common'
|
|
|
|
# before_script:
|
|
|
|
# - '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"'
|
|
|
|
# script:
|
|
|
|
# - brew install autoconf automake libtool
|
|
|
|
# - ./autogen.sh
|
|
|
|
# - './configure CC=clang'
|
|
|
|
# - 'make -j$(sysctl -n hw.logicalcpu)'
|
|
|
|
# - make install
|
|
|
|
#
|
|
|
|
# macos meson:
|
|
|
|
# extends: '.build macos common'
|
|
|
|
# script:
|
|
|
|
# - pip3 install --upgrade pip
|
|
|
|
# - pip3 install -U meson
|
|
|
|
# - pip3 install --upgrade certifi
|
|
|
|
# - pip3 install -U ninja
|
|
|
|
#
|
|
|
|
# - meson setup build ${MESON_ARGS}
|
|
|
|
# - meson compile --verbose -C build
|
|
|
|
# - sudo meson install -C build
|