-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
126 lines (119 loc) · 4.01 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
sudo: required
dist: trusty
language: cpp
# Operating system selection
os:
#- linux
- osx
# Compiler selection
compiler:
- clang
- gcc
matrix:
# Remove default jobs.
exclude:
- compiler: gcc
- compiler: clang
# Add non-default jobs.
include:
- compiler: gcc
os: linux
addons:
apt:
sources:
# add PPAs with more up-to-date toolchains
- ubuntu-toolchain-r-test
- george-edison55-precise-backports
- sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.8 main'
key_url: 'http://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
# GCC 6
- gcc-6
- g++-6
# PhysFS
- libphysfs-dev
# SDL 2
- libsdl2-dev
- libsdl2-image-dev
- libsdl2-mixer-dev
- libsdl2-ttf-dev
# CMake (outdated)
- cmake-data
- cmake
env:
- MATRIX_EVAL_BEFORE_INSTALL="CC=gcc-6 && CXX=g++-6"
- MATRIX_EVAL_BEFORE_SCRIPT="export CC=gcc-6 && export CXX=g++-6"
- compiler: clang
os: linux
addons:
apt:
sources:
# add PPAs with more up-to-date toolchains
- ubuntu-toolchain-r-test
- george-edison55-precise-backports
- sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main'
key_url: 'http://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
# GCC 6
- gcc-6
- g++-6
# CLANG 4.0
- clang-4.0
- libc++-dev
# PhysFS
- libphysfs-dev
# SDL 2
- libsdl2-dev
- libsdl2-image-dev
- libsdl2-mixer-dev
- libsdl2-ttf-dev
# CMake (outdated)
- cmake-data
- cmake
env:
- MATRIX_EVAL_BEFORE_INSTALL="CC=clang-4.0 && CXX=clang++-4.0 && CXXFLAGS=\"-ftemplate-depth=1024 -std=c++11\""
- MATRIX_EVAL_BEFORE_SCRIPT="export CC=clang-4.0 && CXX=clang++-4.0 && CXXFLAGS=\"-ftemplate-depth=1024 -std=c++11 -stdlib=libc++\""
- compiler: clang
os: osx
before_install:
- eval "${MATRIX_EVAL_BEFORE_INSTALL}"
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
brew update;
brew install sdl2;
brew info sdl2;
brew install sdl2_image;
brew info sdl2_image;
brew install sdl2_mixer;
brew info sdl2_mixer;
brew install sdl2_ttf;
brew info sdl2_ttf;
brew install physfs;
fi
# Donwload CMake binaries.
install:
- DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
- mkdir -p "${DEPS_DIR}" && cd "${DEPS_DIR}"
# Download CMake 3.10.1 binary.
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then CMAKE_BIN_URL="https://cmake.org/files/v3.10/cmake-3.10.1-Darwin-x86_64.tar.gz" ; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then CMAKE_BIN_URL="https://cmake.org/files/v3.10/cmake-3.10.1-Linux-x86_64.tar.gz" ; fi
- |
mkdir -p cmake-bin
cd cmake-bin
wget --no-check-certificate -O - -q "${CMAKE_BIN_URL}" | tar xsz --strip-components=1 -f -
cd ..
export PATH="${DEPS_DIR}/cmake-bin/bin:${PATH}"
# Invoke CMake on CMakeLists.txt.
before_script:
- eval "${MATRIX_EVAL_BEFORE_SCRIPT}"
- cd "${TRAVIS_BUILD_DIR}"
- cmake CMakeLists.txt
script:
- cd "${TRAVIS_BUILD_DIR}"
- make all && make check
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/bf24f1666021dc4df89a
on_success: always # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: false # default: false