Skip to content

Commit a477b3a

Browse files
committed
Enable multi-os builds for travis
1 parent d8d9ba1 commit a477b3a

File tree

8 files changed

+70
-31
lines changed

8 files changed

+70
-31
lines changed

.travis.yml

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
language: cpp
22

3+
os:
4+
- linux
5+
- osx
6+
37
compiler:
48
- clang
59

@@ -26,40 +30,17 @@ addons:
2630
postgresql: "9.1"
2731

2832
before_install:
29-
- export DEBIAN_FRONTEND=noninteractive
30-
- sudo add-apt-repository ppa:ubuntugis/ppa -y
31-
- sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable -y # For postgresql-9.1-postgis-2.1
32-
- sudo add-apt-repository ppa:smspillaz/cmake-3.0.2 -y
33-
- sudo add-apt-repository ppa:kedazo/doxygen-updates-precise -y # For doxygen 1.8.8
34-
- sudo apt-get update -qq
35-
- sudo apt-get install --force-yes --no-install-recommends --no-install-suggests
36-
bison cmake cmake-data doxygen flex git graphviz
37-
grass-dev libexpat1-dev libfcgi-dev libgdal1-dev
38-
libgeos-dev libgsl0-dev libpq-dev libproj-dev
39-
libqscintilla2-dev libqt4-dev libqt4-opengl-dev
40-
libqt4-sql-sqlite libqtwebkit-dev libqwt-dev
41-
libspatialindex-dev libspatialite-dev libsqlite3-dev
42-
lighttpd pkg-config poppler-utils pyqt4-dev-tools
43-
python python-dev python-qt4 python-qt4-dev
44-
python-sip python-sip-dev spawn-fcgi txt2tags
45-
xauth xfonts-100dpi xfonts-75dpi xfonts-base
46-
xfonts-scalable xvfb
47-
postgresql-9.1-postgis-2.1/precise # postgis one from ubuntugis-unstable, not pgdg
48-
- cmake --version
49-
- clang --version
33+
- "if [ ${TRAVIS_OS_NAME:-'linux'} = 'linux' ]; then ./ci/travis/before_install-linux.sh; fi"
34+
- "if [ ${TRAVIS_OS_NAME:-'linux'} = 'osx' ]; then ./ci/travis/before_install-osx.sh; fi"
5035

5136
install:
52-
- mkdir build
53-
- cd build
54-
- cmake -DWITH_SERVER=ON -DWITH_STAGED_PLUGINS=OFF -DWITH_GRASS=OFF
55-
-DSUPPRESS_QT_WARNINGS=ON -DENABLE_MODELTEST=ON -DENABLE_PGTEST=ON
56-
-DWITH_QWTPOLAR=OFF -DWITH_APIDOC=ON -DWITH_PYSPATIALITE=ON ..
37+
- "if [ ${TRAVIS_OS_NAME:-'linux'} = 'linux' ]; then ./ci/travis/install-linux.sh; fi"
38+
- "if [ ${TRAVIS_OS_NAME:-'linux'} = 'osx' ]; then ./ci/travis/install-osx.sh; fi"
5739

5840
before_script:
59-
- printf "[qgis_test]\nhost=localhost\ndbname=qgis_test\nuser=postgres" > ~/.pg_service.conf
60-
- psql -c 'CREATE DATABASE qgis_test;' -U postgres
61-
- psql -c 'CREATE EXTENSION postgis;' -U postgres -d qgis_test
62-
- psql -f $TRAVIS_BUILD_DIR/tests/testdata/provider/testdata.sql -U postgres -d qgis_test
41+
- "if [ ${TRAVIS_OS_NAME:-'linux'} = 'linux' ]; then ./ci/travis/before_script-linux.sh; fi"
6342

64-
script: xvfb-run ctest -V -E 'qgis_openstreetmaptest|qgis_wcsprovidertest' -S ../qgis-test-travis.ctest --output-on-failure
43+
script:
44+
- "if [ ${TRAVIS_OS_NAME:-'linux'} = 'linux' ]; then ./ci/travis/script-linux.sh; fi"
45+
- "if [ ${TRAVIS_OS_NAME:-'linux'} = 'osx' ]; then ./ci/travis/script-osx.sh; fi"
6546

ci/travis/before_install-linux.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export DEBIAN_FRONTEND=noninteractive
2+
sudo add-apt-repository ppa:ubuntugis/ppa -y
3+
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable -y # For postgresql-9.1-postgis-2.1
4+
sudo add-apt-repository ppa:smspillaz/cmake-3.0.2 -y
5+
sudo add-apt-repository ppa:kedazo/doxygen-updates-precise -y # For doxygen 1.8.8
6+
sudo apt-get update -qq
7+
sudo apt-get install --force-yes --no-install-recommends --no-install-suggests \
8+
bison cmake cmake-data doxygen flex git graphviz \
9+
grass-dev libexpat1-dev libfcgi-dev libgdal1-dev \
10+
libgeos-dev libgsl0-dev libpq-dev libproj-dev \
11+
libqscintilla2-dev libqt4-dev libqt4-opengl-dev \
12+
libqt4-sql-sqlite libqtwebkit-dev libqwt-dev \
13+
libspatialindex-dev libspatialite-dev libsqlite3-dev \
14+
lighttpd pkg-config poppler-utils pyqt4-dev-tools \
15+
python python-dev python-qt4 python-qt4-dev \
16+
python-sip python-sip-dev spawn-fcgi txt2tags \
17+
xauth xfonts-100dpi xfonts-75dpi xfonts-base \
18+
xfonts-scalable xvfb \
19+
postgresql-9.1-postgis-2.1/precise # postgis one from ubuntugis-unstable, not pgdg
20+
cmake --version
21+
clang --version

ci/travis/before_install-osx.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
brew tap osgeo/osgeo4mac
2+
brew update
3+
brew install osgeo/osgeo4mac/qgis-28 --only-dependencies
4+
brew install doxygen
5+
6+
brew ln bison --force
7+
brew ln sqlite --force
8+
brew ln openssl --force
9+
brew ln expat --force
10+
brew ln libxml2 --force
11+
brew ln gettext --force
12+
brew ln libffi --force
13+
14+
export HOMEBREW_PREFIX=`brew --prefix`
15+
export PATH=${PATH}:${HOMEBREW_PREFIX}/bin:${HOMEBREW_PREFIX}/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/X11/bin

ci/travis/before_script-linux.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
printf "[qgis_test]\nhost=localhost\ndbname=qgis_test\nuser=postgres" > ~/.pg_service.conf
2+
psql -c 'CREATE DATABASE qgis_test;' -U postgres
3+
psql -c 'CREATE EXTENSION postgis;' -U postgres -d qgis_test
4+
psql -f $TRAVIS_BUILD_DIR/tests/testdata/provider/testdata.sql -U postgres -d qgis_test
5+

ci/travis/install-linux.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
mkdir build
2+
cd build
3+
cmake -DWITH_SERVER=ON -DWITH_STAGED_PLUGINS=OFF -DWITH_GRASS=OFF \
4+
-DSUPPRESS_QT_WARNINGS=ON -DENABLE_MODELTEST=ON -DENABLE_PGTEST=ON \
5+
-DWITH_QWTPOLAR=OFF -DWITH_APIDOC=ON -DWITH_PYSPATIALITE=ON ..

ci/travis/install-osx.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
mkdir build
2+
cd build
3+
#no PGTEST for OSX - can't get postgres to start with brew install
4+
cmake -DWITH_SERVER=ON -DWITH_STAGED_PLUGINS=OFF -DWITH_GRASS=OFF \
5+
-DSUPPRESS_QT_WARNINGS=ON -DENABLE_MODELTEST=ON -DENABLE_PGTEST=OFF \
6+
-DWITH_QWTPOLAR=OFF -DWITH_APIDOC=ON -DWITH_PYSPATIALITE=ON \
7+
-DQWT_INCLUDE_DIR=/usr/local/opt/qwt/lib/qwt.framework/Headers/ \
8+
-DQWT_LIBRARY=/usr/local/opt/qwt/lib/qwt.framework/qwt ..

ci/travis/script-linux.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
xvfb-run ctest -V -E 'qgis_openstreetmaptest|qgis_wcsprovidertest' -S ./qgis-test-travis.ctest --output-on-failure
2+

ci/travis/script-osx.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ctest -V -E 'qgis_openstreetmaptest|qgis_wcsprovidertest' -S ./qgis-test-travis.ctest --output-on-failure
2+

0 commit comments

Comments
 (0)