From c160e5f31d6253628c4f1eea9d650f816158232d Mon Sep 17 00:00:00 2001 From: James Ross-Gowan Date: Thu, 12 May 2016 22:00:30 +1000 Subject: Add Appveyor CI integration for Windows builds --- TOOLS/appveyor-build.sh | 23 +++++++++++++++++++++++ TOOLS/appveyor-install.sh | 35 +++++++++++++++++++++++++++++++++++ appveyor.yml | 29 +++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100755 TOOLS/appveyor-build.sh create mode 100755 TOOLS/appveyor-install.sh create mode 100644 appveyor.yml diff --git a/TOOLS/appveyor-build.sh b/TOOLS/appveyor-build.sh new file mode 100755 index 0000000000..71ea8c0379 --- /dev/null +++ b/TOOLS/appveyor-build.sh @@ -0,0 +1,23 @@ +#!/usr/bin/bash +set -e + +export DEST_OS=win32 +export CC=gcc +export PKG_CONFIG=/usr/bin/pkg-config +export PERL=/usr/bin/perl +export PYTHON=/usr/bin/python3 + +"$PYTHON" bootstrap.py +"$PYTHON" waf configure \ + --check-c-compiler=gcc \ + --disable-cdda \ + --enable-egl-angle \ + --enable-gpl3 \ + --enable-jpeg \ + --enable-lcms2 \ + --enable-libarchive \ + --enable-libass \ + --enable-lua \ + --enable-rubberband \ + --enable-uchardet +"$PYTHON" waf build diff --git a/TOOLS/appveyor-install.sh b/TOOLS/appveyor-install.sh new file mode 100755 index 0000000000..37d74f5201 --- /dev/null +++ b/TOOLS/appveyor-install.sh @@ -0,0 +1,35 @@ +#!/usr/bin/bash +set -e + +case $MSYSTEM in +MINGW32) + export MINGW_PACKAGE_PREFIX=mingw-w64-i686 + ;; +MINGW64) + export MINGW_PACKAGE_PREFIX=mingw-w64-x86_64 + ;; +esac + +# Write an empty fonts.conf to speed up fc-cache +export FONTCONFIG_FILE=/dummy-fonts.conf +cat >"$FONTCONFIG_FILE" < + + +EOF + +# Install build dependencies for mpv +pacman -S --noconfirm --needed \ + $MINGW_PACKAGE_PREFIX-gcc \ + $MINGW_PACKAGE_PREFIX-angleproject-git \ + $MINGW_PACKAGE_PREFIX-ffmpeg \ + $MINGW_PACKAGE_PREFIX-lcms2 \ + $MINGW_PACKAGE_PREFIX-libarchive \ + $MINGW_PACKAGE_PREFIX-libass \ + $MINGW_PACKAGE_PREFIX-libjpeg-turbo \ + $MINGW_PACKAGE_PREFIX-lua51 \ + $MINGW_PACKAGE_PREFIX-rubberband \ + $MINGW_PACKAGE_PREFIX-uchardet-git + +# Delete unused packages to reduce space used in the Appveyor cache +pacman -Sc --noconfirm diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000000..f7ccde56f7 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,29 @@ +branches: + only: + - master + - appveyor + +environment: + matrix: + - MSYSTEM: MINGW64 + - MSYSTEM: MINGW32 + +shallow_clone: true +test: off + +install: + # Update core packages + - C:\msys64\usr\bin\pacman -Syyuu --noconfirm + # Update non-core packages + - C:\msys64\usr\bin\pacman -Suu --noconfirm + # Install required MSYS2 packages + - C:\msys64\usr\bin\pacman -S --noconfirm --needed perl python pkg-config + # Now MSYS2 is up to date, do the rest of the install from a bash script + - C:\msys64\usr\bin\bash -lc "cd \"$APPVEYOR_BUILD_FOLDER\" && exec ./TOOLS/appveyor-install.sh" +build_script: + - C:\msys64\usr\bin\bash -lc "cd \"$APPVEYOR_BUILD_FOLDER\" && exec ./TOOLS/appveyor-build.sh" +on_failure: + - type "%APPVEYOR_BUILD_FOLDER%\build\config.log" + +cache: + - C:\msys64\var\cache\pacman\pkg -- cgit v1.2.3