openclonk/.travis.yml

68 lines
3.0 KiB
YAML

# thanks to http://stackoverflow.com/questions/29312015/building-with-more-than-one-version-of-a-compiler for the template
language: cpp
dist: trusty
sudo: false # for some reason, this causes spurious fails with installing the udev package… or something. You can restart the build and it will work, but if that gets too annoying, set sudo: required. (maybe only for the gcc-5 build, I've only observed it there up to now…)
matrix:
include:
- os: linux
sudo: required # not actually required, but the virtualization builds have better single core performance. If in doubt, remove.
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.9', 'build-essential', 'cmake', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'libgtest-dev']
env:
- CCOMPILER=gcc-4.9
- CXXCOMPILER=g++-4.9
- TYPE=Debug # somehow, the linking fails for release builds. If someone could fix that, that would be great.
- BSYS="Unix Makefiles#make -k"
- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5', 'build-essential', 'cmake', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'ninja-build', 'libgtest-dev']
env:
- CCOMPILER=gcc-5
- CXXCOMPILER=g++-5
- TYPE=Debug
- CXX_FLAGS="-fdiagnostics-color"
- BSYS="Ninja#ninja -k30" PCH=on
- os: linux
compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.8']
packages: ['clang-3.8', 'build-essential', 'cmake', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'ninja-build', 'libc++-dev', 'libc++1', 'libgtest-dev']
env:
- CCOMPILER=clang-3.8
- CXXCOMPILER=clang++-3.8
- CXX_FLAGS="-stdlib=libc++ -fcolor-diagnostics"
- TYPE=Debug
- BSYS="Ninja#ninja -k30"
before_install:
- for t in test mock; do wget https://github.com/google/google$t/archive/release-1.7.0.tar.gz -Og$t.tgz && tar xvf g$t.tgz; done
before_script:
- export CXX="$CXXCOMPILER" CC="$CCOMPILER"
- >
cmake
-G"${BSYS/\#*/}"
-DCMAKE_BUILD_TYPE="$TYPE"
-DCMAKE_CXX_FLAGS="$CXX_FLAGS"
-DUSE_GCC_PCH=${PCH:-off}
-DGTEST_ROOT=$PWD/googletest-release-1.7.0
-DGMOCK_ROOT=$PWD/googlemock-release-1.7.0
.
script:
- ${BSYS/*#/} all netpuncher tests aul_test c4value_test
- ./tests/tests
- ./tests/aul_test
- ./tests/c4value_test