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.
232 lines
5.6 KiB
232 lines
5.6 KiB
# 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)'
|
|
|