From 7ee17659fe6d2da046113dc23f8d7e34ec2a2c65 Mon Sep 17 00:00:00 2001 From: Patrick Boettcher Date: Wed, 18 Apr 2018 10:48:07 +0200 Subject: [PATCH] CI: travis integration --- .travis.yml | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e4ee62f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,69 @@ +######################### +# project configuration # +######################### + +# C++ project +language: cpp + +dist: trusty +sudo: required +group: edge + +matrix: + include: + - os: linux + compiler: gcc + env: COMPILER=g++-4.9 + addons: + apt: + sources: ['ubuntu-toolchain-r-test'] + packages: ['g++-4.9', 'ninja-build'] + + - os: linux + compiler: gcc + env: COMPILER=g++-5 + addons: + apt: + sources: ['ubuntu-toolchain-r-test'] + packages: ['g++-5', 'ninja-build'] + + - os: linux + compiler: gcc + env: COMPILER=g++-6 + addons: + apt: + sources: ['ubuntu-toolchain-r-test'] + packages: ['g++-6', 'ninja-build'] + + - os: linux + compiler: gcc + env: COMPILER=g++-7 + addons: + apt: + sources: ['ubuntu-toolchain-r-test'] + packages: ['g++-7', 'ninja-build'] + +script: + # get CMake and Ninja (only for systems with brew - macOS) + - | + if [[ (-x $(which brew)) ]]; then + brew update + brew install cmake ninja + brew upgrade cmake + fi + # make sure CXX is correctly set + - if [[ "${COMPILER}" != "" ]]; then export CXX=${COMPILER}; fi + + # show OS/compiler version + - uname -a + - cmake --version + - $CXX --version + + # put json.hpp to nlohmann + - mkdir -p nlohmann && wget https://github.com/nlohmann/json/releases/download/v3.1.2/json.hpp -O nlohmann/json.hpp + + # compile and execute unit tests + - mkdir -p build && cd build + - cmake .. -DNLOHMANN_JSON_DIR=.. ${CMAKE_OPTIONS} -GNinja && cmake --build . --config Release + - ctest -C Release -V -j + - cd ..