Add clang to Travis configurations

This adds the clang compiler to the tested Travis configurations.
This commit is contained in:
Patrick Lühne 2018-03-24 18:10:58 +01:00
parent 22238bb398
commit fde2af5841
Signed by: patrick
GPG Key ID: 05F3611E97A70ABF
4 changed files with 27 additions and 5 deletions

View File

@ -1,6 +1,9 @@
FROM archimg/base-devel:latest
ARG toolchain
RUN pacman -Sy
RUN pacman -S --noconfirm boost cmake git ninja re2c
RUN if [ "${toolchain}" = "clang" ]; then pacman -S --noconfirm clang; fi
VOLUME /app

View File

@ -1,6 +1,9 @@
FROM ubuntu:18.04
ARG toolchain
RUN apt-get update
RUN apt-get install -y libboost-all-dev cmake git ninja-build re2c
RUN if [ "${toolchain}" = "clang" ]; then apt-get install -y clang; fi
VOLUME /app

View File

@ -1,7 +1,17 @@
#!/bin/bash
if [ "$1" = "gcc" ]
then
cxx=g++
cc=gcc
elif [ "$1" = "clang" ]
then
cxx=clang++
cc=clang
fi
git submodule update --init --recursive
mkdir -p build/debug
cd build/debug
cmake ../.. -GNinja -DANTHEM_BUILD_TESTS=ON
cmake ../.. -GNinja -DANTHEM_BUILD_TESTS=ON -DCMAKE_CXX_COMPILER=${cxx} -DCMAKE_C_COMPILER=${cc}
ninja anthem-app && ninja run-tests

View File

@ -5,15 +5,21 @@ services:
matrix:
include:
- env: distribution=arch-latest
- env: distribution=arch-latest toolchain=gcc
os: linux
language: cpp
- env: distribution=ubuntu-18.04
- env: distribution=arch-latest toolchain=clang
os: linux
language: cpp
- env: distribution=ubuntu-18.04 toolchain=gcc
os: linux
language: cpp
- env: distribution=ubuntu-18.04 toolchain=clang
os: linux
language: cpp
before_install:
- docker build -t ${distribution} - < .ci/Dockerfile-${distribution}
- docker build --build-arg toolchain=${toolchain} -t ${distribution} - < .ci/Dockerfile-${distribution}
script:
- docker run --mount source=$(pwd),target=/app,type=bind -w /app ${distribution} /bin/bash -c ".ci/ci.sh"
- docker run --mount source=$(pwd),target=/app,type=bind -w /app ${distribution} /bin/bash -c ".ci/ci.sh ${toolchain}"