dawn-cmake/.travis.yml

80 lines
1.8 KiB
YAML
Raw Normal View History

2017-05-30 22:15:39 +00:00
os:
- linux
- osx
# If linux, use precise
2017-11-27 23:25:11 +00:00
dist: trusty
sudo: false
2017-05-30 22:15:39 +00:00
language:
- cpp
python:
- "2.7"
2017-05-30 22:15:39 +00:00
env:
- BUILD_TYPE=Debug
- BUILD_TYPE=Release
compiler:
- clang
cache:
- pip
2017-05-30 22:15:39 +00:00
addons:
# Everything under apt is only used on linux
apt:
sources:
2017-11-27 22:04:35 +00:00
# PPA for clang 5.0
2017-11-27 23:25:11 +00:00
- llvm-toolchain-trusty-5.0
# PPA for clang-format 7
2017-11-27 22:04:35 +00:00
- llvm-toolchain-trusty
# PPA for a more recen libstdc++
2017-05-30 22:15:39 +00:00
- ubuntu-toolchain-r-test
packages:
# Get recent compilers
- clang-5.0
2017-11-27 23:25:11 +00:00
# Pull a recent version of libstdc++
- libstdc++-6-dev
2017-05-30 22:15:39 +00:00
# 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
2017-11-27 22:04:35 +00:00
# Format using the latest and greatest
- clang-format-7
2017-05-30 22:15:39 +00:00
before_install:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi
2017-12-01 16:51:06 +00:00
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then sudo easy_install pip; fi
2017-05-30 22:15:39 +00:00
install:
# Install dependencies required on OSX
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install ninja; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then pip install --user jinja2; fi
2017-05-30 22:15:39 +00:00
script:
# Use the more recent compilers we just installed
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$CXX" == "clang++" ]; then export CXX="clang++-5.0" CC="clang-5.0"; fi
2017-11-23 22:22:23 +00:00
# Build the Vulkan backend on Linux
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export BUILD_VULKAN=1; else export BUILD_VULKAN=0; fi
2017-05-30 22:15:39 +00:00
# Build
- mkdir -p build
- cd build
- cmake --version
2017-11-23 22:22:23 +00:00
- cmake -G "Ninja" -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DNXT_USE_WERROR=1 -DNXT_ENABLE_VULKAN=$BUILD_VULKAN ..
2017-05-30 22:15:39 +00:00
- cmake --build .
# Test
- ./nxt_unittests
2017-11-27 22:04:35 +00:00
# Get out of the build dir
- cd ..
# Lint
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then ./scripts/travis_lint_format.sh clang-format-7; fi