language: cpp env: global: - CMAKE_EXTRA_CONF="-DCOMPILE_WITH_C_LOCALE=ON" - CTEST_OUTPUT_ON_FAILURE=1 matrix: include: - name: "Ubuntu 16.04 LTS (Xenial Xerus) GCC 7" os: linux dist: xenial addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-7 env: - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" - name: "Ubuntu 16.04 LTS (Xenial Xerus) GCC 8" os: linux dist: xenial addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-8 env: - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" - name: "Ubuntu 16.04 LTS (Xenial Xerus) GCC 9" os: linux dist: xenial addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-9 env: - MATRIX_EVAL="CC=gcc-9 && CXX=g++-9" - name: "Ubuntu 18.04 LTS (Bionic Beaver) GCC 7" os: linux dist: bionic addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-7 env: - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" - name: "Ubuntu 18.04 LTS (Bionic Beaver) GCC 8" os: linux dist: bionic addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-8 env: - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" - name: "Ubuntu 18.04 LTS (Bionic Beaver) Clang 6" os: linux dist: bionic addons: apt: sources: - llvm-toolchain-bionic-6.0 packages: - clang-6.0 env: - MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0" - name: "Ubuntu 18.04 LTS (Bionic Beaver) Clang 7" os: linux dist: bionic addons: apt: sources: - llvm-toolchain-bionic-7 packages: - clang-7 env: - MATRIX_EVAL="CC=clang-7 && CXX=clang++-7" - name: "Ubuntu 18.04 LTS (Bionic Beaver) Clang 8" os: linux dist: bionic addons: apt: sources: - llvm-toolchain-bionic-8 packages: - clang-8 env: - MATRIX_EVAL="CC=clang-8 && CXX=clang++-8" - &macos name: xcode10 os: osx osx_image: xcode10.2 env: - CMAKE_EXTRA_CONF="" addons: homebrew: packages: - bash - ninja - <<: *macos name: xcode9 # xcode 9 only works if we tell it to use c++14 explicitly env: - CMAKE_EXTRA_CONF="-DCMAKE_CXX_STANDARD=14" osx_image: xcode9.4 - <<: *macos osx_image: xcode11 name: xcode11 before_install: - eval "${MATRIX_EVAL}" - ci/install_cmake.sh 3.15.2 - export OPENSSL_ROOT=$(brew --prefix openssl@1.1) - if [ "$(uname)" = "Darwin" ] ; then export PATH="$HOME/cmake/CMake.app/Contents/bin:${PATH}"; fi - if [ "$(uname)" = "Linux" ] ; then export PATH="$HOME/cmake/bin:${PATH}"; fi cache: directories: - $HOME/cmake script: - mkdir -p build - cd build - eval cmake -DENABLE_DATE_TESTING=ON -DBUILD_SHARED_LIBS=ON ${CMAKE_EXTRA_CONF} .. - cmake --build . --parallel - cmake --build . --parallel --target testit