######################### # 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.5.0/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 ..