Compare commits
1 Commits
master
...
msbuild-te
Author | SHA1 | Date | |
---|---|---|---|
|
34127f861a |
355
.gitlab-ci.yml
355
.gitlab-ci.yml
@ -19,46 +19,46 @@ variables:
|
||||
- '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 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'
|
||||
# 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
|
||||
# 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.
|
||||
@ -69,10 +69,17 @@ variables:
|
||||
# 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 $env:VS_UWP &&
|
||||
meson setup build $env:MESON_ARGS_WINDOWS $env:MESON_ARGS_UWP &&
|
||||
meson compile --verbose -C build
|
||||
$env:MESON_WINDOWS_TESTS"
|
||||
# - 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:
|
||||
@ -87,144 +94,144 @@ windows meson vs2019 amd64:
|
||||
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.
|
||||
# windows meson vs2019 x86:
|
||||
# extends: '.build windows meson'
|
||||
# variables:
|
||||
# ARCH: 'x86'
|
||||
# MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark'
|
||||
#
|
||||
# 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
|
||||
# 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
|
||||
|
Loading…
Reference in New Issue
Block a user