# Build matrix / environment variable are explained on:
|
|
# https://docs.travis-ci.com/user/customizing-the-build/
|
|
# This file can be validated on:
|
|
# http://lint.travis-ci.org/
|
|
|
|
language: cpp
|
|
|
|
# Define the matrix explicitly, manually expanding the combinations of (os, compiler, env).
|
|
# It is more tedious, but grants us far more flexibility.
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
dist: bionic
|
|
compiler: gcc
|
|
install: ./ci/install-linux.sh && ./ci/log-config.sh
|
|
script: ./ci/build-linux-bazel.sh
|
|
- os: linux
|
|
dist: bionic
|
|
compiler: clang
|
|
install: ./ci/install-linux.sh && ./ci/log-config.sh
|
|
script: ./ci/build-linux-bazel.sh
|
|
- os: linux
|
|
dist: bionic
|
|
compiler: gcc
|
|
env: BUILD_TYPE=Debug CXX_FLAGS="-std=c++11 -Wdeprecated"
|
|
- os: linux
|
|
dist: bionic
|
|
compiler: clang
|
|
env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
|
|
- os: osx
|
|
osx_image: xcode12.2
|
|
compiler: gcc
|
|
env: BUILD_TYPE=Release CC=gcc-10 CXX=g++-10 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
|
|
- os: osx
|
|
osx_image: xcode12.2
|
|
compiler: clang
|
|
env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
|
|
|
|
# These are the install and build (script) phases for the most common entries in the matrix. They could be included
|
|
# in each entry in the matrix, but that is just repetitive.
|
|
install:
|
|
- ./ci/install-${TRAVIS_OS_NAME}.sh
|
|
- . ./ci/env-${TRAVIS_OS_NAME}.sh
|
|
- ./ci/log-config.sh
|
|
|
|
script: ./ci/travis.sh
|
|
|
|
# This section installs the necessary dependencies.
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- g++
|
|
- clang
|
|
update: true
|
|
homebrew:
|
|
packages:
|
|
- gcc@10
|
|
update: true
|
|
|
|
notifications:
|
|
email: false
|