forked from facebookarchive/xcbuild
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
130 lines (124 loc) · 3.35 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
127
128
129
130
#
# Copyright (c) 2015-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.
#
language: generic
script:
- make
- make test
sudo: false
build-shared:
build-sources:
linux: &linux-build-sources
- george-edison55-precise-backports
wine: &wine-build-sources
- *linux-build-sources
build-packages:
linux: &linux-build-packages
- pkg-config
- ninja-build
- cmake
- cmake-data
wine: &wine-build-packages
- *linux-build-packages
- binutils-mingw-w64-i686
build-env:
linux: &linux-build-env
- NINJA_FLAGS=-j2 # Travis is so parallel it runs out of memory. Limit that.
wine: &wine-build-env
- *linux-build-env
- CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=i686-w64-mingw32-windres -DCMAKE_LINKER=i686-w64-mingw32-ld -DZLIB_ROOT=/home/travis/build/facebook/xcbuild/zlib"
shared:
env:
wine: &wine-env
- TEST_RUNNER=wine # Use Wine to run Windows tests.
packages:
linux: &linux-packages
- zlib1g-dev
- libpng-dev
- libxml2-dev
matrix:
include:
- os: linux
dist: trusty
sudo: required
compiler: clang3.8
env:
- CC=clang-3.8
- CXX=clang++-3.8
- *linux-build-env
addons:
apt:
sources:
- llvm-toolchain-precise-3.8
- *linux-build-sources
packages:
- clang-3.8
- *linux-build-packages
- *linux-packages
- os: linux
dist: trusty
compiler: gcc4.8
sudo: required
env:
- CC=gcc-4.8
- CXX=g++-4.8
- *linux-build-env
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- *linux-build-sources
packages:
- gcc-4.8
- g++-4.8
- *linux-build-packages
- *linux-packages
- os: osx
osx_image: xcode8.2
compiler: clang
before_install:
- brew update
install:
- brew reinstall cmake
- brew reinstall ninja
- os: linux
dist: trusty
compiler: mingw32
sudo: required
env:
- CC=i686-w64-mingw32-gcc
- CXX=i686-w64-mingw32-g++
- *wine-build-env
- *wine-env
before_install:
# Wine
- sudo dpkg --add-architecture i386
- sudo add-apt-repository -y ppa:wine/wine-builds
- sudo apt-get update -qq || true
- sudo apt-get install -qq -y --no-install-recommends winehq-devel
# zlib
- mkdir -p zlib
- pushd zlib
- pwd
- wget http://zlib.net/zlib128-dll.zip
- unzip zlib128-dll.zip
- popd
- mkdir -p build
- cp zlib/zlib1.dll build
# MinGW runtime
- cp /usr/lib/gcc/i686-w64-mingw32/4.8/libgcc_s_sjlj-1.dll build
- cp /usr/lib/gcc/i686-w64-mingw32/4.8/libstdc++-6.dll build
- cp /usr/i686-w64-mingw32/lib/libwinpthread-1.dll build
addons:
apt:
sources:
- *wine-build-sources
packages:
- gcc-mingw-w64-i686
- g++-mingw-w64-i686
- *wine-build-packages