Corentin Wallez | 93d7428 | 2017-05-30 18:15:39 -0400 | [diff] [blame] | 1 | os: |
| 2 | - linux |
| 3 | - osx |
| 4 | |
| 5 | language: |
| 6 | - cpp |
| 7 | |
| 8 | env: |
| 9 | - BUILD_TYPE=Debug |
| 10 | - BUILD_TYPE=Release |
| 11 | |
| 12 | compiler: |
| 13 | - clang |
| 14 | - gcc |
| 15 | |
| 16 | addons: |
| 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 | |
| 40 | install: |
| 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 | |
| 45 | script: |
| 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 |