snapcast/.travis.yml
2020-04-10 13:51:02 +02:00

205 lines
No EOL
6.8 KiB
YAML

language: cpp
dist: trusty
sudo: required
group: edge
matrix:
include:
- os: linux
compiler: gcc
env:
- COMPILER=g++-4.9
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- ubuntu-toolchain-r-test
packages:
- g++-4.9 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: gcc
env:
- COMPILER=g++-5
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- ubuntu-toolchain-r-test
packages:
- g++-5 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: gcc
env:
- COMPILER=g++-6
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- ubuntu-toolchain-r-test
packages:
- g++-6 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: gcc
env:
- COMPILER=g++-7
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- ubuntu-toolchain-r-test
packages:
- g++-7 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: gcc
env:
- COMPILER=g++-8
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- ubuntu-toolchain-r-test
packages:
- g++-8 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: gcc
env:
- COMPILER=g++-9
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- ubuntu-toolchain-r-test
packages:
- g++-9 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: clang
env:
- COMPILER=clang++-3.9
- CXXFLAGS=-stdlib=libc++
- CC=clang-3.9
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- llvm-toolchain-trusty-3.9
packages:
- clang-3.9 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: clang
env:
- COMPILER=clang++-4.0
- CXXFLAGS=-stdlib=libc++
- CC=clang-4.0
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- llvm-toolchain-trusty-4.0
packages:
- clang-4.0 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: clang
env:
- COMPILER=clang++-5.0
- CXXFLAGS=-stdlib=libc++
- CC=clang-5.0
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- llvm-toolchain-trusty-5.0
packages:
- clang-5.0 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: clang
env:
- COMPILER=clang++-6.0
- CXXFLAGS=-stdlib=libc++
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- llvm-toolchain-trusty-6.0
- ubuntu-toolchain-r-test
packages:
- clang-6.0 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
- os: linux
compiler: clang
env:
- COMPILER=clang++-7
- CXXFLAGS=-stdlib=libc++
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- llvm-toolchain-trusty-7
- ubuntu-toolchain-r-test
packages:
- clang-7 boost1.70 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev libopus-dev alsa-utils libavahi-client-dev avahi-daemon
# build on osx
- os: osx
osx_image: xcode9.4
env:
- MATRIX_EVAL="brew update && brew unlink python@2 && brew upgrade boost && brew install flac opus libvorbis libsoxr"
- os: osx
osx_image: xcode10.3
env:
- MATRIX_EVAL="brew update && brew install flac opus libvorbis libsoxr"
- os: osx
osx_image: xcode11
env:
- MATRIX_EVAL="brew update && brew install flac opus libvorbis libsoxr"
# build on windows
- os: windows
before_install:
- eval "${MATRIX_EVAL}"
- |
(
if [ "$TRAVIS_OS_NAME" = 'windows' ]; then
curl -LfsS -o /tmp/travis-wait-enhanced.zip "https://github.com/crazy-max/travis-wait-enhanced/releases/download/v1.1.0/travis-wait-enhanced_1.1.0_windows_x86_64.zip"
7z x /tmp/travis-wait-enhanced.zip -y -o/usr/bin/ travis-wait-enhanced.exe -r
travis-wait-enhanced --version # we use this tool so travis doesn't timeout when there's no output for > 10 minutes (vcpkg has no verbose option). travis_wait also fixes this issue, but it swallows the output
if [ ! -f "vcpkg/vcpkg.exe" ]; then # if not in cache from a previous run
git clone https://github.com/Microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.bat
travis-wait-enhanced --interval=1m --timeout=30m -- ./vcpkg/vcpkg.exe install libflac libvorbis soxr opus boost-asio --triplet x64-windows
else
./vcpkg/vcpkg.exe update # make sure dependencies are up to date
fi
fi
)
script:
# make sure CXX is correctly set
- if [[ "${COMPILER}" != "" ]] && [[ "${TRAVIS_COMPILER}" == "gcc" ]]; then export CXX=${COMPILER}; fi
- mkdir build
- cd build
- |
(
if [ "$TRAVIS_OS_NAME" != 'windows' ]; then
cmake -DCMAKE_CXX_FLAGS="$CXXFLAGS -Werror -Wall -Wextra -pedantic -Wno-unused-parameter -Wno-unused-function -O2" .. && make && sudo make install
else
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows ..
cmake --build . --config Release
fi
)
cache:
directories:
- vcpkg