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.
86 lines
2.6 KiB
86 lines
2.6 KiB
# Copyright (C) 2020 Alexandros Theodotou <alex at zrythm dot org> |
|
# |
|
# Copying and distribution of this file, with or without modification, |
|
# are permitted in any medium without royalty provided the copyright |
|
# notice and this notice are preserved. This file is offered as-is, |
|
# without any warranty. |
|
|
|
language: c |
|
os: |
|
- windows |
|
- osx |
|
- linux |
|
dist: bionic |
|
|
|
before_install: |
|
- |- |
|
set -e |
|
case $TRAVIS_OS_NAME in |
|
windows) |
|
[[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64 |
|
choco uninstall -y mingw |
|
choco upgrade --no-progress -y msys2 |
|
export msys2='cmd //C RefreshEnv.cmd ' |
|
export msys2+='& set MSYS=winsymlinks:nativestrict ' |
|
export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start' |
|
export mingw64="$msys2 -mingw64 -full-path -here -c \$\* --" |
|
export msys2+=" -msys2 -c \$\* --" |
|
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain mingw-w64-x86_64-librsvg mingw-w64-x86_64-meson mingw-w64-x86_64-libsndfile guile make |
|
## Install more MSYS2 packages from https://packages.msys2.org/base here |
|
taskkill //IM gpg-agent.exe //F || true # https://travis-ci.community/t/4967 |
|
export PATH=/C/tools/msys64/mingw64/bin:$PATH |
|
export MAKE=mingw32-make # so that Autotools can find it |
|
;; |
|
osx) |
|
brew update |
|
# use || true because it returns 1 |
|
brew install meson libsndfile librsvg guile || true |
|
brew link --overwrite python || true |
|
;; |
|
linux) |
|
sudo apt-get install -y librsvg2-dev libjack-dev libsndfile1-dev ninja-build python3 git lcov guile-2.0 lv2-dev |
|
git clone https://github.com/mesonbuild/meson /tmp/meson |
|
pip install --user gcovr cpp-coveralls |
|
;; |
|
esac |
|
|
|
before_cache: |
|
- |- |
|
set -e |
|
case $TRAVIS_OS_NAME in |
|
windows) |
|
# https://unix.stackexchange.com/a/137322/107554 |
|
$msys2 pacman --sync --clean --noconfirm |
|
;; |
|
esac |
|
|
|
cache: |
|
directories: |
|
- $HOME/AppData/Local/Temp/chocolatey |
|
- /C/tools/msys64 |
|
|
|
script: |
|
- |- |
|
set -e |
|
case $TRAVIS_OS_NAME in |
|
osx) |
|
cd ext/Soundpipe && make && cd ../.. |
|
meson build |
|
ninja -C build |
|
ninja -C build test |
|
;; |
|
windows) |
|
$mingw64 cd ext/Soundpipe && $MAKE && cd ../.. |
|
$mingw64 meson build |
|
$mingw64 ninja -C build |
|
$mingw64 ninja -C build test |
|
;; |
|
linux) |
|
cd ext/Soundpipe && CC=gcc make && cd ../.. |
|
/tmp/meson/meson.py build -Db_coverage=true |
|
ninja -C build |
|
ninja -C build test |
|
ninja -C build coverage-text |
|
coveralls -e ext -e subprojects -b build --gcov-options '\-lp' |
|
;; |
|
esac
|
|
|