nameof_module/.travis.yml

155 lines
4.7 KiB
YAML
Raw Normal View History

2019-03-26 09:56:43 +00:00
os: linux # Use linux unless specified otherwise.
2019-03-12 13:55:45 +00:00
dist: xenial
2018-03-27 09:03:12 +00:00
sudo: required
language: cpp
2018-04-27 19:50:44 +00:00
git:
depth: 1
matrix:
2018-04-30 03:00:05 +00:00
include:
- os: linux
compiler: g++
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
2018-09-04 14:41:01 +00:00
- CXX_COMPILER=g++-7 CC_COMPILER=gcc-7
2018-04-30 03:00:05 +00:00
2018-05-25 14:07:50 +00:00
- os: linux
compiler: g++
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
2018-09-04 14:41:01 +00:00
- CXX_COMPILER=g++-8 CC_COMPILER=gcc-8
2018-05-25 14:07:50 +00:00
2019-03-26 06:58:07 +00:00
- os: linux
compiler: g++
env:
- CXX_COMPILER=g++-9 CC_COMPILER=gcc-9
2018-04-30 03:00:05 +00:00
- os: linux
compiler: clang++
addons:
apt:
sources:
- ubuntu-toolchain-r-test
2019-03-12 13:55:45 +00:00
- llvm-toolchain-xenial-5.0
2018-04-30 03:00:05 +00:00
packages:
- clang-5.0
env:
2018-09-04 14:41:01 +00:00
- CXX_COMPILER=clang++-5.0 CC_COMPILER=clang-5.0
2018-04-30 03:00:05 +00:00
- os: linux
compiler: clang++
addons:
apt:
sources:
- ubuntu-toolchain-r-test
2019-03-12 13:55:45 +00:00
- llvm-toolchain-xenial-6.0
2018-04-30 03:00:05 +00:00
packages:
- clang-6.0
env:
2018-09-04 14:41:01 +00:00
- CXX_COMPILER=clang++-6.0 CC_COMPILER=clang-6.0
2018-04-30 03:00:05 +00:00
2018-11-28 14:58:27 +00:00
- os: linux
2018-04-30 03:00:05 +00:00
compiler: clang++
2018-11-28 14:58:27 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
2019-03-12 13:55:45 +00:00
- llvm-toolchain-xenial-7
2018-11-28 14:58:27 +00:00
packages:
- clang-7
2018-04-30 03:00:05 +00:00
env:
2018-11-28 14:58:27 +00:00
- CXX_COMPILER=clang++-7 CC_COMPILER=clang-7
2018-04-30 03:00:05 +00:00
2019-03-26 09:56:43 +00:00
- os: linux
compiler: clang++
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-8
packages:
- clang-8
env:
- CXX_COMPILER=clang++-8 CC_COMPILER=clang-8
2018-04-30 03:00:05 +00:00
- os: osx
compiler: clang++
2018-12-05 10:56:01 +00:00
osx_image: xcode9.4
2018-04-30 03:00:05 +00:00
env:
2018-09-04 14:41:01 +00:00
- CXX_COMPILER=clang++ CC_COMPILER=clang
2018-03-27 09:03:12 +00:00
- os: osx
compiler: clang++
2018-12-05 10:56:01 +00:00
osx_image: xcode10.1
env:
2018-09-04 14:41:01 +00:00
- CXX_COMPILER=clang++ CC_COMPILER=clang
2018-04-30 03:00:05 +00:00
install:
2018-05-25 14:07:50 +00:00
- export CC=${CC_COMPILER}
- export CXX=${CXX_COMPILER}
- JOBS=2 # Travis machines have 2 cores.
- |
# If linux and clang install the right version of libc++.
if [[ "${TRAVIS_OS_NAME}" == "linux" && "${CXX%%+*}" == "clang" && -n "$(ls -A ${LLVM_INSTALL})" ]]; then
LLVM_INSTALL=${DEPS_DIR}/llvm/install
2018-08-07 19:56:14 +00:00
if [[ "${CXX}" == "clang++-3.5" ]]; then LLVM_VERSION="3.5.2";
elif [[ "${CXX}" == "clang++-3.6" ]]; then LLVM_VERSION="3.6.2";
elif [[ "${CXX}" == "clang++-3.7" ]]; then LLVM_VERSION="3.7.1";
elif [[ "${CXX}" == "clang++-3.8" ]]; then LLVM_VERSION="3.8.1";
elif [[ "${CXX}" == "clang++-3.9" ]]; then LLVM_VERSION="3.9.1";
elif [[ "${CXX}" == "clang++-4.0" ]]; then LLVM_VERSION="4.0.1";
elif [[ "${CXX}" == "clang++-5.0" ]]; then LLVM_VERSION="5.0.2";
elif [[ "${CXX}" == "clang++-6.0" ]]; then LLVM_VERSION="6.0.1";
2019-03-12 13:55:45 +00:00
elif [[ "${CXX}" == "clang++-7" ]]; then LLVM_VERSION="7.0.1";
2019-03-26 09:56:43 +00:00
elif [[ "${CXX}" == "clang++-8" ]]; then LLVM_VERSION="8.0.0";
fi
LLVM_URL="http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
LIBCXX_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxx-${LLVM_VERSION}.src.tar.xz"
LIBCXXABI_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxxabi-${LLVM_VERSION}.src.tar.xz"
mkdir -p llvm llvm/build llvm/projects/libcxx llvm/projects/libcxxabi
travis_retry wget -O - ${LLVM_URL} | tar --strip-components=1 -xJ -C llvm
travis_retry wget -O - ${LIBCXX_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxx
travis_retry wget -O - ${LIBCXXABI_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxxabi
(cd llvm/build && cmake .. -DCMAKE_INSTALL_PREFIX=${LLVM_INSTALL})
2018-08-07 19:56:14 +00:00
(cd llvm/build/projects/libcxx && sudo make install -j${JOBS})
(cd llvm/build/projects/libcxxabi && sudo make install -j${JOBS})
export CXXFLAGS="-isystem ${LLVM_INSTALL}/include/c++/v1"
export LDFLAGS="-L ${LLVM_INSTALL}/lib -l c++ -l c++abi"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${LLVM_INSTALL}/lib"
fi
2019-03-26 07:03:53 +00:00
- |
# If linux and gcc-9 install gcc-9.
2019-03-26 09:56:43 +00:00
if [[ "${CXX}" == "g++-9" ]]; then
2019-03-26 07:03:53 +00:00
wget http://kayari.org/gcc-latest/gcc-latest.deb
sudo dpkg -i gcc-latest.deb
sudo ln -s /opt/gcc-latest/bin/gcc /usr/bin/gcc-9
sudo ln -s /opt/gcc-latest/bin/g++ /usr/bin/g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9
sudo ldconfig /opt/gcc-latest/lib64
fi
2018-05-25 14:07:50 +00:00
before_script:
2018-04-05 21:30:39 +00:00
- rm -rf build
2018-04-02 11:33:25 +00:00
- mkdir -p build
2018-03-27 09:03:12 +00:00
- cd build
2018-09-04 14:41:01 +00:00
- cmake -G "Unix Makefiles" ..
2018-05-25 14:07:50 +00:00
script:
2018-09-04 14:41:01 +00:00
- cmake --build . -- -j${JOBS}
- ctest --output-on-failure -j${JOBS}
2018-04-01 09:02:15 +00:00
notifications:
2018-04-14 19:52:48 +00:00
email: false