Improve net traps
[crawl.git] / .travis.yml
1 language: cpp
2 dist: xenial
3 compiler:
4     - gcc
5     - clang
6 cache: ccache
7 sudo: required
8 addons:
9     apt:
10         update: true
11         retries: true
12         packages: &basic_deps
13             - xorg-dev
14             - python3-yaml
15             - liblua5.1-0-dev # strictly speaking, only BUILD_ALL builds
16             - liblua5.1-0-dbg
17             - gdb
18
19 env:
20     global:
21         - CCACHE_CPP2=yes
22     matrix: # anything here is fully crossed with compilers, uses *basic_deps
23         - NOTHING=1
24         - FULLDEBUG=1
25         - WEBTILES=1 FULLDEBUG=1
26
27 git:
28     submodules: false
29
30 # the rest of the build matrix, specifying each combo directly. Anything
31 # without explicit addons here will uses *basic_deps above, and any addons list
32 # overrides the global one.
33 matrix:
34     include:
35         # lint-type checks
36         - env: CHECKWHITE=1
37           addons: {apt: {packages: [] }}
38         - env: UNBRACE=1
39           addons: {apt: {packages: [] }}
40         # catch2 tests
41         - compiler: gcc
42           env: CATCH2_TESTS=1
43         # the rest of the actual builds.
44         - compiler: gcc
45           env: WEBTILES=1
46         - compiler: gcc
47           env: WEBTILES=1 BUILD_ALL=1
48         - compiler: gcc
49           env: TILES=1
50           addons:
51             apt:
52                 packages:
53                     - *basic_deps
54                     - &sdl_deps [libegl1-mesa-dev, libgles2-mesa-dev, libsdl2-dev, libsdl2-image-dev, libsdl2-mixer-dev]
55         - compiler: clang
56           env: TILES=1
57           addons:
58             apt:
59                 packages:
60                     - *basic_deps
61                     - *sdl_deps
62         - compiler: gcc
63           env: TILES=1 FULLDEBUG=1
64           addons:
65             apt:
66                 packages:
67                     - *basic_deps
68                     - *sdl_deps
69         - compiler: clang
70           env: TILES=1 FULLDEBUG=1
71           addons:
72             apt:
73                 packages:
74                     - *basic_deps
75                     - *sdl_deps
76         - compiler: gcc
77           env: TILES=1 BUILD_ALL=1
78           addons:
79             apt:
80                 packages:
81                     - *basic_deps
82                     - &sdl_buildall_deps [libegl1-mesa-dev, mesa-common-dev, libglu1-mesa-dev, libasound2-dev, libxss-dev]
83         - compiler: clang
84           env: TILES=1 BUILD_ALL=1
85           addons:
86             apt:
87                 packages:
88                     - *basic_deps
89                     - *sdl_buildall_deps
90         - env: CROSSCOMPILE=1
91           addons:
92             apt:
93                 packages:
94                     - mingw-w64
95                     - binutils-mingw-w64
96                     - g++-mingw-w64-i686
97                     - gcc-mingw-w64-i686
98                     - nsis
99                     - *sdl_buildall_deps
100         - compiler: gcc
101           env: USE_DGAMELAUNCH=1 EXTERNAL_DEFINES=-UTOURNEY
102         - compiler: gcc
103           env: USE_DGAMELAUNCH=1 WEBTILES=1 EXTERNAL_DEFINES=-UTOURNEY
104
105 before_install:
106     - if [ "$TRAVIS_OS_NAME" == "linux" ]; then if [ "$CC" == "clang" ]; then sudo ln -s `which ccache` /usr/lib/ccache/clang; fi; fi
107     - if [ "$TRAVIS_OS_NAME" == "linux" ]; then if [ "$CXX" == "clang++" ]; then sudo ln -s `which ccache` /usr/lib/ccache/clang++; fi; fi
108 install: perl .travis/deps.pl
109 script: perl .travis/build.pl