-
Notifications
You must be signed in to change notification settings - Fork 468
/
.travis.yml
94 lines (89 loc) · 2.91 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
language: cpp
jobs:
include:
- os: linux
dist: focal
arch: amd64
cache: apt
addons:
apt:
update: true
- os: linux
dist: focal
arch: arm64
cache: apt
addons:
apt:
update: true
- os: windows
- os: osx
osx_image: xcode11.6
addons:
homebrew:
packages:
- python3
- cmake
- pkg-config
- gtksourceviewmm3
- gnome-icon-theme
- gspell
- libxml++
- curl
- uchardet
- fmt
- spdlog
compiler:
- gcc
before_install:
- |-
case $TRAVIS_OS_NAME in
linux)
sudo apt install build-essential cmake libgtkmm-3.0-dev xvfb
sudo apt install libgtksourceviewmm-3.0-dev libxml++2.6-dev libsqlite3-dev
sudo apt install gettext libgspell-1-dev libcurl4-openssl-dev libuchardet-dev
sudo apt install libfmt-dev libspdlog-dev
;;
windows)
[[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
choco uninstall -y mingw
choco upgrade --no-progress -y msys2
export msys2='cmd //C RefreshEnv.cmd '
export msys2+='& set MSYS=winsymlinks:nativestrict '
export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
export msys2+=" -msys2 -c "\"\$@"\" --"
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain
## Install more MSYS2 packages from https://packages.msys2.org/base here
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-cmake
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-gtkmm3
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-gtksourceviewmm3
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-libxml++2.6
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-sqlite3
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-gspell
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-curl
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-uchardet
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-fmt
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-spdlog
taskkill //IM gpg-agent.exe //F # https://travis-ci.community/t/4967
export PATH=/C/tools/msys64/mingw64/bin:$PATH
export MAKE=mingw32-make # so that Autotools can find it
;;
esac
script:
- |-
case $TRAVIS_OS_NAME in
linux)
cd ${TRAVIS_BUILD_DIR}
xvfb-run ./build.sh Release
;;
windows)
cd ${TRAVIS_BUILD_DIR}
$mingw64 ./build.sh Release
;;
osx)
cd ${TRAVIS_BUILD_DIR}
mkdir build && cd build
cmake ../
make -j$(sysctl -n hw.ncpu)
;;
esac