blob: d0d4ce8a46cd97c76d81911f78c0e01bc0b2671b [file] [log] [blame]
Corentin Wallez93d74282017-05-30 18:15:39 -04001os:
2 - linux
3 - osx
4
5language:
6 - cpp
7
8env:
9 - BUILD_TYPE=Debug
10 - BUILD_TYPE=Release
11
12compiler:
13 - clang
14 - gcc
15
16addons:
17 # Everything under apt is only used on linux
18 apt:
19 sources:
20 # PPAs to get newer toolchains
21 - llvm-toolchain-precise
22 - ubuntu-toolchain-r-test
23 # PPA to get a semi-recent cmake (3.2)
24 - george-edison55-precise-backports
25 packages:
26 # Get recent compilers
27 - gcc-6
28 - g++-6
29 - clang-5.0
30 # Get a newer CMake than the 2.8 default
31 - cmake
32 - cmake-data
33 # Ninja builds are faster
34 - ninja-build
35 # Required for the code generator, unfortunately this is jinja2 2.6 which lacks some of the options we use
36 - python-jinja2
37 # Required dependency for GLFW on Linux
38 - xorg-dev
39
40install:
41 # Install dependencies required on OSX
42 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install ninja; fi
43 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then pip install jinja2; fi
44
45script:
46 # Use the more recent compilers we just installed
47 - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$CXX" == "g++" ]; then export CXX="g++-6" CC="gcc-6"; fi
48 - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$CXX" == "clang++" ]; then export CXX="clang++-5.0" CC="clang-5.0"; fi
49
50 # Build
51 - mkdir -p build
52 - cd build
53 - cmake --version
54 - cmake -G "Ninja" -DCMAKE_BUILD_TYPE=$BUILD_TYPE ..
55 - cmake --build .
56
57 # Test
58 - ./src/tests/nxt_unittests