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.
233 lines
5.6 KiB
233 lines
5.6 KiB
4 years ago
|
# This file is responsible for seting up several compiler enviorments.
|
||
|
# Once setup is done, the template "CI/build-cmake.yml" is invoked to test freetype
|
||
|
# compiles successfully on various operating systems and compilers liststed
|
||
|
# below. Artifacts of all builds are also published to azure.
|
||
|
|
||
|
# TODO: Add functionality tests
|
||
|
|
||
|
trigger:
|
||
|
- master
|
||
|
|
||
|
variables:
|
||
|
vcpkgGitRef: a41c53c14794bb32cb03269069cdd3b66fedda5f # Update this git ref to update vcpkg
|
||
|
vckpgPackages: zlib bzip2 libpng harfbuzz
|
||
|
|
||
|
jobs:
|
||
|
|
||
|
## Linux ##
|
||
|
- job: ArchLinux_Regression
|
||
|
displayName: "Archlinux Regression tests"
|
||
|
pool:
|
||
|
vmImage: ubuntu-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
Test1:
|
||
|
TEST: 0
|
||
|
Test2:
|
||
|
TEST: 1
|
||
|
Test3:
|
||
|
TEST: 2
|
||
|
|
||
|
timeoutInMinutes: 360
|
||
|
steps:
|
||
|
- checkout: self
|
||
|
path: freetype2
|
||
|
|
||
|
- template: CI/arch-setup.yml
|
||
|
|
||
|
- template: CI/regression-test.yml
|
||
|
parameters:
|
||
|
preCMD: 'cd $(Build.BinariesDirectory) && cat << EOF | sudo ./root.x86_64/bin/arch-chroot ./root.x86_64/'
|
||
|
srcDIR: freetype2
|
||
|
postCMD: 'EOF'
|
||
|
testNum: $(TEST)
|
||
|
|
||
|
- job: ArchLinux_Autotools
|
||
|
displayName: "Archlinux Autotools"
|
||
|
pool:
|
||
|
vmImage: ubuntu-latest
|
||
|
steps:
|
||
|
- checkout: self
|
||
|
path: freetype2
|
||
|
|
||
|
- template: CI/arch-setup.yml
|
||
|
|
||
|
- template: CI/build-autotools.yml
|
||
|
|
||
|
- job: ArchLinux_Cmake
|
||
|
displayName: "Archlinux CMake"
|
||
|
pool:
|
||
|
vmImage: ubuntu-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
shared:
|
||
|
BUILD_SHARED_LIBS: true
|
||
|
BUILD_ARGS: '-G "Unix Makefiles" -D BUILD_SHARED_LIBS=$(BUILD_SHARED_LIBS)'
|
||
|
static:
|
||
|
BUILD_SHARED_LIBS: false
|
||
|
|
||
|
steps:
|
||
|
- checkout: self
|
||
|
path: freetype2
|
||
|
|
||
|
- template: CI/arch-setup.yml
|
||
|
|
||
|
- template: CI/build-cmake.yml
|
||
|
parameters:
|
||
|
preCMD: 'cd $(Build.BinariesDirectory) && cat << EOF | sudo ./root.x86_64/bin/arch-chroot ./root.x86_64/'
|
||
|
srcDIR: freetype2
|
||
|
postCMD: 'EOF'
|
||
|
buildArgs: $(BUILD_ARGS)
|
||
|
|
||
|
## Windows ##
|
||
|
|
||
|
- job: MSVC_2019_CMake
|
||
|
displayName: "MVSC 2019 CMake"
|
||
|
pool:
|
||
|
vmImage: windows-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
i686_shared:
|
||
|
TRIPLET: x86-windows
|
||
|
BUILD_SHARED_LIBS: true
|
||
|
ARCH: Win32
|
||
|
x86_64_shared:
|
||
|
TRIPLET: x64-windows
|
||
|
BUILD_SHARED_LIBS: true
|
||
|
ARCH: x64
|
||
|
i686_static:
|
||
|
TRIPLET: x86-windows-static
|
||
|
BUILD_SHARED_LIBS: false
|
||
|
ARCH: Win32
|
||
|
x86_64_static:
|
||
|
TRIPLET: x64-windows-static
|
||
|
BUILD_SHARED_LIBS: false
|
||
|
ARCH: x64
|
||
|
|
||
|
steps:
|
||
|
- task: Cache@2
|
||
|
displayName: 'Cache VCPKG Artifacts'
|
||
|
inputs:
|
||
|
key: '"$(TRIPLET)" | "$(vckpgPackages)" | "$(vcpkgGitRef)" | "$(Agent.OS)"'
|
||
|
path: '$(Build.BinariesDirectory)/vcpkg'
|
||
|
|
||
|
- task: run-vcpkg@0
|
||
|
displayName: 'Run VCPKG'
|
||
|
inputs:
|
||
|
vcpkgArguments: --triplet $(TRIPLET) $(vckpgPackages)
|
||
|
vcpkgGitCommitId: $(vcpkgGitRef)
|
||
|
vcpkgGitURL: https://github.com/microsoft/vcpkg.git
|
||
|
|
||
|
- template: CI/build-cmake.yml
|
||
|
parameters:
|
||
|
buildArgs: '-G "Visual Studio 16 2019" -A $(ARCH) -D CMAKE_TOOLCHAIN_FILE=$(Build.BinariesDirectory)\vcpkg\scripts\buildsystems\vcpkg.cmake -D VCPKG_ROOT=$(Build.BinariesDirectory)\vcpkg -D VCPKG_TARGET_TRIPLET=$(TRIPLET) -D BUILD_SHARED_LIBS=$(BUILD_SHARED_LIBS)'
|
||
|
|
||
|
- job: MINGW_Autotools
|
||
|
displayName: "Mingw Autotools"
|
||
|
pool:
|
||
|
vmImage: windows-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
i686:
|
||
|
MINGW_UPPER: MINGW32
|
||
|
MINGW_LOWER: mingw32
|
||
|
MINGW_ARCH: i686
|
||
|
x86_64:
|
||
|
MINGW_UPPER: MINGW64
|
||
|
MINGW_LOWER: mingw64
|
||
|
MINGW_ARCH: x86_64
|
||
|
|
||
|
steps:
|
||
|
- template: CI/mingw-setup.yml
|
||
|
|
||
|
- template: CI/build-autotools.yml
|
||
|
parameters:
|
||
|
mingw: true
|
||
|
|
||
|
- job: MINGW_CMake
|
||
|
displayName: "MingGW CMake"
|
||
|
pool:
|
||
|
vmImage: windows-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
i686_shared:
|
||
|
MINGW_UPPER: MINGW32
|
||
|
MINGW_LOWER: mingw32
|
||
|
MINGW_ARCH: i686
|
||
|
BUILD_SHARED_LIBS: true
|
||
|
x86_64_shared:
|
||
|
MINGW_UPPER: MINGW64
|
||
|
MINGW_LOWER: mingw64
|
||
|
MINGW_ARCH: x86_64
|
||
|
BUILD_SHARED_LIBS: true
|
||
|
i686_static:
|
||
|
MINGW_UPPER: MINGW32
|
||
|
MINGW_LOWER: mingw32
|
||
|
MINGW_ARCH: i686
|
||
|
BUILD_SHARED_LIBS: false
|
||
|
x86_64_static:
|
||
|
MINGW_UPPER: MINGW64
|
||
|
MINGW_LOWER: mingw64
|
||
|
MINGW_ARCH: x86_64
|
||
|
BUILD_SHARED_LIBS: false
|
||
|
|
||
|
steps:
|
||
|
- template: CI/mingw-setup.yml
|
||
|
|
||
|
- template: CI/build-cmake.yml
|
||
|
parameters:
|
||
|
mingw: true
|
||
|
buildArgs: '-G \"MSYS Makefiles\" -D BUILD_SHARED_LIBS=$(BUILD_SHARED_LIBS)'
|
||
|
|
||
|
## MacOS X ##
|
||
|
|
||
|
- job: MacOS_X_Autotools
|
||
|
displayName: "MacOS X Autotools"
|
||
|
pool:
|
||
|
vmImage: macos-latest
|
||
|
|
||
|
steps:
|
||
|
- script: |
|
||
|
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh
|
||
|
bash ./install.sh
|
||
|
brew install autoconf automake
|
||
|
displayName: 'Install Brew'
|
||
|
|
||
|
- template: CI/build-autotools.yml
|
||
|
|
||
|
- job: MacOS_X_CMake
|
||
|
displayName: "MacOS X CMake"
|
||
|
pool:
|
||
|
vmImage: macos-latest
|
||
|
|
||
|
steps:
|
||
|
- template: CI/build-cmake.yml
|
||
|
parameters:
|
||
|
buildArgs: '-G Xcode -D BUILD_FRAMEWORK:BOOL=true'
|
||
|
|
||
|
### iOS ##
|
||
|
|
||
|
- job: iOS_CMake
|
||
|
displayName: "iOS CMake"
|
||
|
pool:
|
||
|
vmImage: macos-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
OS:
|
||
|
IOS_PLATFORM: OS
|
||
|
Simulator:
|
||
|
IOS_PLATFORM: SIMULATOR64
|
||
|
TV_OS:
|
||
|
IOS_PLATFORM: TVOS
|
||
|
TV_OS_Simulator:
|
||
|
IOS_PLATFORM: SIMULATOR_TVOS
|
||
|
Watch_OS:
|
||
|
IOS_PLATFORM: WATCHOS
|
||
|
Watch_OS_Simulator:
|
||
|
IOS_PLATFORM: SIMULATOR_WATCHOS
|
||
|
|
||
|
steps:
|
||
|
- template: CI/build-cmake.yml
|
||
|
parameters:
|
||
|
buildArgs: '-G Xcode -D PLATFORM=$(IOS_PLATFORM)'
|