dawn-cmake/.travis.yml
Corentin Wallez ac986030b9 Travis: update to use clang 6.0, build on one thread
Compiling on Linux Debug fails with what may be an out of memory for
clang. Limit the number of jobs to try and avoid OOM.
2018-08-09 20:54:43 +02:00

76 lines
1.6 KiB
YAML

os:
- linux
- osx
# If linux, use precise
dist: trusty
sudo: false
language:
- cpp
python:
- "2.7"
env:
- BUILD_TYPE=Debug
- BUILD_TYPE=Release
compiler:
- clang
cache:
- pip
addons:
# Everything under apt is only used on linux
apt:
sources:
# PPA for clang 6.0
- llvm-toolchain-trusty-6.0
# PPA for clang-format 7
- llvm-toolchain-trusty
# PPA for a more recen libstdc++
- ubuntu-toolchain-r-test
packages:
# Get recent compilers
- clang-6.0
# Pull a recent version of libstdc++
- libstdc++-6-dev
# Ninja builds are faster
- ninja-build
# Required for the code generator, unfortunately this is jinja2 2.6 which lacks some of the options we use
- python-jinja2
# Required dependency for GLFW on Linux
- xorg-dev
# Format using the latest and greatest
- clang-format-7
before_install:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi
install:
# Install dependencies required on OSX
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install ninja; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then pip2 install --user jinja2; fi
script:
# Use the more recent compilers we just installed
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$CXX" == "clang++" ]; then export CXX="clang++-6.0" CC="clang-6.0"; fi
# Build
- mkdir -p build
- cd build
- cmake --version
- cmake -G "Ninja" -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DDAWN_USE_WERROR=1 ..
- cmake --build . -- -j 1
# Test
- ./dawn_unittests
# Get out of the build dir
- cd ..
# Lint
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then ./scripts/travis_lint_format.sh clang-format-7; fi