forked from NatronGitHub/openfx-arena
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
116 lines (110 loc) · 4.51 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
sudo: required
dist: xenial
language: cpp
compiler:
- gcc
before_install:
- env
- df
- date -u
- uname -a
- export J='-j3'
- if [ ${TRAVIS_OS_NAME} = "linux" ]; then
echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- ;
fi
- git submodule update --init --recursive
- sudo apt remove --purge imagemagick imagemagick-common
- if [ ${TRAVIS_OS_NAME} = "linux" -a "$CC" = "gcc" ];
then
if [ "$BUILDDOC" = 1 ]; then
sudo apt-get install doxygen xsltproc;
fi;
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test;
sudo apt-get update;
sudo apt-get install gcc-8 g++-8;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 90;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 90;
fi
- sudo add-apt-repository -y ppa:libreoffice/ppa
#- sudo add-apt-repository -y ppa:kubuntu-ppa/backports
- sudo add-apt-repository -y ppa:jonathonf/inkscape
- sudo apt-get update
- sudo apt-get install -y cmake libsox-dev libfreetype6-dev libfontconfig1-dev libpango1.0-dev librsvg2-dev liblcms2-dev libzip-dev libcdr-dev libicu-dev libcppunit-dev libopencolorio-dev librevenge-dev libboost-all-dev gtk-doc-tools libharfbuzz-dev libselinux1-dev libpoppler-glib-dev libpoppler-private-dev libcurl4-openssl-dev libidn11-dev librtmp-dev libgl-dev libfftw3-dev
# ppa:jonathonf/inkscape brings librevenge & libcdr for trusty
install:
- if [[ ${COVERITY_BUILD_DISABLED} == 1 ]];
then
exit 0;
fi
- sudo rm -rf /usr/include/libcdr* /usr/lib*/*cdr* /usr/lib*/pkgconfig/*cdr*
- git clone https://github.com/LibreOffice/libcdr
- cd libcdr
- sh autogen.sh
- ./configure --prefix=/usr
- make -j2
- sudo make install
- cd ..
- git clone https://github.com/ImageMagick/ImageMagick
- cd ImageMagick
- git checkout tags/7.0.3-1
- ./configure --prefix=/usr --disable-docs --disable-deprecated --with-magick-plus-plus=yes --with-quantum-depth=32 --without-dps --without-djvu --without-fftw --without-fpx --without-gslib --without-gvc --without-jbig --without-jpeg --with-lcms --without-openjp2 --without-lqr --without-lzma --without-openexr --without-pango --with-png --without-rsvg --without-tiff --without-webp --without-xml --with-zlib --without-bzlib --disable-static --enable-shared --enable-hdri --with-freetype --with-fontconfig --without-x --without-modules --without-wmf
- make -j2
- sudo make install
- cd ..
# Xenial has pango 1.38
# # a more recont harfbuzz may be necessary if pango is upgraded
# - wget https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.42.tar.bz2
# - tar xf harfbuzz-0.9.42.tar.bz2
# - cd harfbuzz-0.9.42
# - ./configure --prefix=/usr/local
# - make -j2
# - sudo make install
# - cd ..
# # pango 1.42.4 requires fribidi
# # pango 1.44.3 requires also meson to build
# - wget http://ftp.gnome.org/pub/GNOME/sources/pango/1.38/pango-1.38.1.tar.xz
# - tar xf pango-1.38.1.tar.xz
# - cd pango-1.38.1
# - env PKG_CONFIG_PATH=/usr/local/lib/pkgconfig LD_LIBRARY_PATH=/usr/local/lib ./configure --prefix=/usr/local
# - make -j2
# - sudo make install
# - cd ..
script:
- git submodule update -i --recursive
- export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
- export LD_LIBRARY_PATH=/usr/local/lib
- make AUDIO=ON IM=7 CONFIG=debug
- make -C Audio
- make -C Extra
- make -C Magick
- make -C OCL
- make -C Text
- mkdir build && cd build
- cmake -DAUDIO=ON .. && make
# ubuntu-toolchain-r/test contains recent versions of gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- ca-certificates
- gcc-8
- g++-8
- libgl-dev
coverity_scan:
# customized build script URL
# TRAVIS_REPO_SLUG: owner_name/repo_name of repository currently being built
# TRAVIS_BRANCH: name of the branch currently being built
build_script_url: https://raw.githubusercontent.com/$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/.travis-coverity-scan-build.sh
# project metadata
project:
name: $TRAVIS_REPO_SLUG
# Where email notification of build analysis results will be sent
notification_email: [email protected]
# Commands to prepare for build_command
#build_command_prepend: ./configure
# This command will be added as an argument to "cov-build" to compile
# the project for analysis
build_command: "make $J CONFIG=debug"
# Pattern to match selecting branches that will run analysis
branch_pattern: coverity_scan