Permalink
Cannot retrieve contributors at this time
## --------------------------------------------------------------------- | |
## | |
## Copyright (C) 2016-17 by the lazyten authors | |
## | |
## This file is part of lazyten. | |
## | |
## lazyten is free software: you can redistribute it and/or modify | |
## it under the terms of the GNU General Public License as published | |
## by the Free Software Foundation, either version 3 of the License, or | |
## (at your option) any later version. | |
## | |
## lazyten is distributed in the hope that it will be useful, | |
## but WITHOUT ANY WARRANTY; without even the implied warranty of | |
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
## GNU General Public License for more details. | |
## | |
## You should have received a copy of the GNU General Public License | |
## along with lazyten. If not, see <http://www.gnu.org/licenses/>. | |
## | |
## --------------------------------------------------------------------- | |
language: cpp | |
sudo: required | |
dist: trusty | |
branches: | |
except: | |
- dev | |
- /^dev-.*$/ | |
- /^dev_.*$/ | |
env: | |
global: | |
# Use two cores for the build | |
- CORES=2 | |
# | |
# Use a known-to-work rapidcheck seed | |
- RC_PARAMS="seed=16920708173099178154 verbose_progress=1 noshrink=1" | |
# | |
# The regex for tests to run (disable running tests by TESTS=0) | |
- TESTS=1 TESTS_REGEX="lazyten_tests_" | |
addons: | |
apt: | |
sources: | |
- ubuntu-toolchain-r-test # libstdc++-4.9-dev (gcc 4.8's libstdc++ is buggy) | |
- llvm-toolchain-trusty-5.0 # clang-5.0 | |
packages: | |
- python3-pip | |
- ninja-build | |
# | |
- libarmadillo-dev | |
- libboost-dev | |
- liblapack-dev | |
- libblas-dev | |
before_install: | |
# Note: Using pip, i.e. python2 is on purpose, becase there were problems | |
# with python3 | |
- travis_retry pip install --user cpp-coveralls | |
matrix: | |
include: | |
# Clang 3.5 with disabled c++14 support with libstdc++-4.9 | |
- install: | |
- travis_retry sudo apt-get install -y libstdc++-4.9-dev | |
- export EXTRA_OPTS="-DDRB_MAXIMUM_CXX_STANDARD=11" | |
- export GCOV="llvm-cov gcov" | |
compiler: clang | |
env: CC_COMP="clang" CXX_COMP="clang++" | |
# | |
# Clang 5.0 (has c++17) with libc++-1 | |
# Note that c++17 is disabled due to cmake < 3.8 where c++17 is not yet ready | |
- install: | |
- travis_retry sudo apt-get install -y clang-5.0 libc++-dev | |
- export GCOV="llvm-cov-5.0 gcov" | |
compiler: clang | |
env: CC_COMP="clang-5.0" CXX_COMP="clang++-5.0" | |
# | |
# gcc-4.8 (c++11 and without tests, since rapidcheck does not compile like this) | |
- install: | |
- export TESTS=0 EXTRA_OPTS="-DLAZYTEN_ENABLE_TESTS=OFF" | |
compiler: gcc | |
env: CC_COMP="gcc" CXX_COMP="g++" | |
# | |
# gcc-7 (with tests and c++17) | |
# Note that c++17 is disabled due to cmake < 3.8 where c++17 is not yet ready | |
- install: | |
- travis_retry sudo apt-get install -y g++-7 | |
- export GCOV="gcov-7" | |
compiler: gcc | |
env: CC_COMP="gcc-7" CXX_COMP="g++-7" | |
# | |
# Clang-tidy 5.0 | |
- install: | |
- travis_retry sudo apt-get install -y clang-5.0 libc++-dev clang-tidy-5.0 | |
# Install yaml for the python scripts generated by SetupClangTargets.cmake | |
- travis_retry pip3 install --user pyyaml | |
- export BUILD_TARGET="clang-tidy-lazyten" | |
- export TESTS=0 | |
compiler: clang | |
env: CC_COMP="clang-5.0" CXX_COMP="clang++-5.0" BUILD_TARGET="clang-tidy-lazyten" | |
allow_failures: | |
- env: CC_COMP="clang-5.0" CXX_COMP="clang++-5.0" BUILD_TARGET="clang-tidy-lazyten" | |
script: | |
- cmake --version | |
- ninja --version | |
- mkdir ${TRAVIS_BUILD_DIR}/build && cd ${TRAVIS_BUILD_DIR}/build | |
- cmake -DCMAKE_CXX_COMPILER=${CXX_COMP} -DCMAKE_C_COMPILER=${CC_COMP} | |
-DCMAKE_BUILD_TYPE=DebugRelease ${EXTRA_OPTS} | |
-DDRB_COVERAGE_Debug=ON | |
-DAUTOCHECKOUT_MISSING_REPOS=ON | |
-DRC_ENABLE_TESTS=OFF | |
-DKRIMS_ENABLE_TESTS=OFF -DKRIMS_ENABLE_EXAMPLES=OFF | |
-GNinja .. | |
- cmake --build . --target ${BUILD_TARGET:-all} -- -j ${CORES} | |
- if [ "${TESTS}" != "0" ]; then | |
ctest -j ${CORES} --output-on-failure -R "${TESTS_REGEX}" | |
;else true; fi | |
after_success: | |
- cd ${TRAVIS_BUILD_DIR} | |
- if [ "${GCOV}" ]; then coveralls --gcov "$GCOV" --gcov-options '\-lp' | |
--root ${PWD} --build-root ${PWD}/build | |
--include src | |
;fi | |
after_failure: | |
- cd ${TRAVIS_BUILD_DIR}/build | |
- cat CMakeCache.txt | |
- cat CMakeFiles/CMakeError.log |