forked from buddhi1980/mandelbulber2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
117 lines (108 loc) · 3.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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# Travis build configuration
# https://docs.travis-ci.com/user/customizing-the-build/
sudo: required
dist: trusty
language: cpp
os:
- linux
- osx
env:
matrix:
- CONFIG=release
install:
# extra-cmake-modules not present in precise (needed for openexr)
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
sudo apt-add-repository -y ppa:ubuntu-toolchain-r/test
&& sudo apt-add-repository -y ppa:beineri/opt-qt571-trusty
&& sudo add-apt-repository -y ppa:ubuntu-sdk-team/ppa
&& sudo apt-get -qq update
&& sudo apt-get -qq install g++-6 libc6-i386
&& sudo apt-get install -y mesa-common-dev libgl1-mesa-dev
&& sudo apt-get install -y qt57base qt57tools qt57multimedia
&& sudo apt-get install -y libpng12-0 libpng12-dev libgsl0-dev libgsl0ldbl libgomp1 liblzo2-2 liblzo2-dev
&& sudo apt-get install -y libqt5svg5
&& sudo apt-get install -y libtiff5
&& sudo apt-get install -y libsndfile1-dev tree
&& sudo apt-get install opencl-headers ocl-icd-libopencl1 ocl-icd-opencl-dev
&& sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 100
&& sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 100
&& sudo update-alternatives --set g++ /usr/bin/g++-6
&& sudo update-alternatives --set gcc /usr/bin/gcc-6
&& gcc --version
&& lsb_release -a
;
else
brew update > /dev/null
&& brew install qt5 gsl llvm lzo libsndfile tree
&& export CC=/usr/local/opt/llvm/bin/clang
&& export CXX=/usr/local/opt/llvm/bin/clang++
&& export LDFLAGS="-L/usr/local/opt/llvm/lib $LDFLAGS"
&& export CPPFLAGS="-I/usr/local/opt/llvm/include $CPPFLAGS"
&& chmod -R 755 /usr/local/opt/qt5/*
;
fi
script:
#build
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
QTDIR="/opt/qt57"
&& PATH="$QTDIR/bin:$PATH"
&& qt57-env.sh
;
else
QTDIR="/usr/local/opt/qt5"
&& PATH="$QTDIR/bin:$PATH"
&& LDFLAGS=-L$QTDIR/lib
&& CPPFLAGS=-I$QTDIR/include
;
fi
- mkdir mandelbulber2/build
- cd mandelbulber2/build
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
qmake ../qmake/mandelbulber-opencl.pro
;
else
qmake -spec macx-xcode ../qmake/mandelbulber.pro
&& qmake -project
&& qmake -o makefile ../qmake/mandelbulber.pro
;
fi
- make -j3
- tree .
# testing
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
cd ..
&& mkdir package
&& ./make-package.sh test package
&& cp build/mandelbulber2 package/mandelbulber2-test/usr/bin/mandelbulber2
&& cd package/mandelbulber2-test
&& ./install
&& mandelbulber2 --test
;
else
echo 'TODO test...'
;
fi
# AppImage building and uploading
- |
if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then
cd ../../build
make INSTALL_ROOT=appdir -j$(nproc) install ; find appdir/
cp appdir/usr/share/icons/hicolor/256x256/apps/mandelbulber.png appdir/usr/share/icons/hicolor/256x256/apps/mandelbulber2.png || true # https://github.com/buddhi1980/mandelbulber2/issues/453#issuecomment-475412753
wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
chmod a+x linuxdeployqt-continuous-x86_64.AppImage
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -appimage
wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
bash upload.sh Mandelbulber*.AppImage*
fi
branches:
except:
- # Do not build tags that we create when we upload to GitHub Releases
- /^(?i:continuous)/
notifications:
email:
- buddhi1980@gmail.com
- sebastian.jennen@gmx.de
- robertpancoast77@gmail.com
webhooks:
- https://webhooks.gitter.im/e/045502f8fca741c11771