forked from giuspen/cherrytree
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
100 lines (96 loc) · 3.6 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
language: cpp
jobs:
include:
- os: linux
dist: focal
cache: apt
addons:
apt:
update: true
- os: windows
- os: osx
osx_image: xcode11.4
compiler:
- gcc
before_install:
- |-
case $TRAVIS_OS_NAME in
linux)
sudo apt install build-essential libgtkmm-3.0-dev xvfb
sudo apt install libgtksourceviewmm-3.0-dev libxml++2.6-dev libsqlite3-dev
sudo apt install libcpputest-dev gettext python3-lxml libgspell-1-dev libcurl4-openssl-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-python3-lxml
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
;;
osx)
brew update
brew install python3 cmake pkg-config gtksourceviewmm3 gnome-icon-theme gspell libxml++ cpputest
pip3 install lxml
;;
esac
install:
- |-
case $TRAVIS_OS_NAME in
linux)
export DEPS_DIR="${HOME}/deps"
mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR}
export CMAKE_URL="https://github.com/Kitware/CMake/releases/download/v3.17.0/cmake-3.17.0-Linux-x86_64.tar.gz";
mkdir cmake;
travis_retry wget --no-check-certificate -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake;
export PATH=${DEPS_DIR}/cmake/bin:${PATH};
echo ${PATH};
cmake --version
;;
windows)
$mingw64 wget https://github.com/cpputest/cpputest/releases/download/v3.8/cpputest-3.8.tar.gz
$mingw64 tar xf cpputest-3.8.tar.gz
cd cpputest-3.8
$mingw64 ./autogen.sh
$mingw64 ./configure --disable-memory-leak-detection
$mingw64 mingw32-make
$mingw64 mingw32-make install
;;
esac
script:
- |-
case $TRAVIS_OS_NAME in
linux)
cd ${TRAVIS_BUILD_DIR}/future
xvfb-run ./build.sh Release
;;
windows)
cd ${TRAVIS_BUILD_DIR}
mkdir build && cd build
$mingw64 cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_MAKE_PROGRAM=mingw32-make.exe -DCMAKE_BUILD_TYPE=Release -G 'MSYS Makefiles' ../future
$mingw64 mingw32-make -j$(nproc --all)
$mingw64 ./tests/run_tests
;;
osx)
cd ${TRAVIS_BUILD_DIR}
mkdir build && cd build
cmake ../future
make -j$(sysctl -n hw.ncpu)
./tests/run_tests
;;
esac