aboutsummaryrefslogtreecommitdiff
path: root/travis
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-11-14 17:40:42 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-11-14 22:48:29 +0100
commitd928db15d53805d9b728b440079756081961c536 (patch)
treee862a961d26bedb34c58e4f28ef0bdeedb5f3225 /travis
parent330e8bf686f9c4524075ca1ff50cbca6c9e091da (diff)
downloadPROJ-d928db15d53805d9b728b440079756081961c536.tar.gz
PROJ-d928db15d53805d9b728b440079756081961c536.zip
Implement RFC 2: Initial integration of "GDAL SRS barn" work
This work mostly consists of: - a C++ implementation of the ISO-19111:2018 / OGC Topic 2 "Referencing by coordinates" classes to represent Datums, Coordinate systems, CRSs (Coordinate Reference Systems) and Coordinate Operations. - methods to convert between this C++ modeling and WKT1, WKT2 and PROJ string representations of those objects - management and query of a SQLite3 database of CRS and Coordinate Operation definition - a C API binding part of those capabilities This is all-in-one squashed commit of the work of https://github.com/OSGeo/proj.4/pull/1040
Diffstat (limited to 'travis')
-rwxr-xr-xtravis/after_success.sh8
-rwxr-xr-xtravis/csa/before_install.sh3
-rwxr-xr-xtravis/install.sh17
-rwxr-xr-xtravis/linux_clang/before_install.sh4
-rwxr-xr-xtravis/linux_clang/install.sh3
-rwxr-xr-xtravis/linux_gcc/before_install.sh3
-rwxr-xr-xtravis/mingw32/before_install.sh2
-rwxr-xr-xtravis/mingw32/install.sh17
-rwxr-xr-xtravis/osx/before_install.sh7
9 files changed, 53 insertions, 11 deletions
diff --git a/travis/after_success.sh b/travis/after_success.sh
index 8a230693..2ae34bc8 100755
--- a/travis/after_success.sh
+++ b/travis/after_success.sh
@@ -2,8 +2,12 @@
set -e
-# coveralls falsely reports .c-files in the build directories as having 100% coverage so we exclude them
-coveralls --extension .c --exclude build_autoconf --exclude build_cmake
+
+if [ "$BUILD_NAME" != "linux_clang" ]; then
+ # coveralls falsely reports .c-files in the build directories as having 100% coverage so we exclude them
+ coveralls --extension .c --exclude build_autoconf --exclude build_cmake
+fi
+
echo "$TRAVIS_SECURE_ENV_VARS"
./travis/build_docs.sh
# Only build and publish docs when changes are made on most recent maintenance branch
diff --git a/travis/csa/before_install.sh b/travis/csa/before_install.sh
index b8c7260b..d93d8bec 100755
--- a/travis/csa/before_install.sh
+++ b/travis/csa/before_install.sh
@@ -4,5 +4,8 @@ set -e
./travis/before_install.sh
+sudo apt-get update -qq
+sudo apt-get install -qq sqlite3 libsqlite3-dev
+
wget http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
tar xJf clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
diff --git a/travis/install.sh b/travis/install.sh
index 98072d8a..6931986c 100755
--- a/travis/install.sh
+++ b/travis/install.sh
@@ -59,11 +59,16 @@ make install
find /tmp/proj_autoconf_install_grids
cd ..
-# autoconf build with grids and coverage
-if [ $TRAVIS_OS_NAME == "osx" ]; then
- CFLAGS="--coverage" ./configure;
+# There's an issue with the clang on Travis + coverage + cpp code
+if [ "$BUILD_NAME" != "linux_clang" ]; then
+ # autoconf build with grids and coverage
+ if [ $TRAVIS_OS_NAME == "osx" ]; then
+ CFLAGS="--coverage" CXXFLAGS="--coverage" ./configure;
+ else
+ CFLAGS="$CFLAGS --coverage" CXXFLAGS="$CXXCFLAGS --coverage" LDFLAGS="$LDFLAGS -lgcov" ./configure;
+ fi
else
- CFLAGS="--coverage" LDFLAGS="-lgcov" ./configure;
+ ./configure
fi
make -j3
make check
@@ -72,4 +77,6 @@ make check
rm -v data/egm96_15.gtx
make check
-mv src/.libs/*.gc* src
+if [ "$BUILD_NAME" != "linux_clang" ]; then
+ mv src/.libs/*.gc* src
+fi
diff --git a/travis/linux_clang/before_install.sh b/travis/linux_clang/before_install.sh
index f6e21076..bd544710 100755
--- a/travis/linux_clang/before_install.sh
+++ b/travis/linux_clang/before_install.sh
@@ -3,4 +3,6 @@
set -e
./travis/before_install.sh
-# do nothing
+
+sudo apt-get update -qq
+sudo apt-get install -qq sqlite3 libsqlite3-dev \ No newline at end of file
diff --git a/travis/linux_clang/install.sh b/travis/linux_clang/install.sh
index a2ad9337..f4b1ad12 100755
--- a/travis/linux_clang/install.sh
+++ b/travis/linux_clang/install.sh
@@ -4,4 +4,5 @@ set -e
export CCACHE_CPP2=yes
-CC="ccache clang" CXX="ccache clang++" CFLAGS="-std=c89 -Werror -fsanitize=address" CXXFLAGS="-Werror -fsanitize=address" LDFLAGS="-fsanitize=address" ./travis/install.sh
+# -fno-use-cxa-atexit is needed to build with -coverage
+CC="ccache clang" CXX="ccache clang++" CFLAGS="-Werror -fsanitize=address -fno-use-cxa-atexit" CXXFLAGS="-Werror -fsanitize=address -fno-use-cxa-atexit" LDFLAGS="-fsanitize=address" ./travis/install.sh
diff --git a/travis/linux_gcc/before_install.sh b/travis/linux_gcc/before_install.sh
index 6946fbd0..06213515 100755
--- a/travis/linux_gcc/before_install.sh
+++ b/travis/linux_gcc/before_install.sh
@@ -7,8 +7,11 @@ set -e
sudo apt-get update -qq
sudo apt-get install -y cppcheck
sudo apt-get install -qq lcov
+sudo apt-get install -qq doxygen graphviz
+sudo apt-get install -qq sqlite3 libsqlite3-dev
scripts/cppcheck.sh
+scripts/doxygen.sh
pip install --user sphinxcontrib-bibtex
pip install --user cpp-coveralls
diff --git a/travis/mingw32/before_install.sh b/travis/mingw32/before_install.sh
index d335bb3a..d2bbe3ec 100755
--- a/travis/mingw32/before_install.sh
+++ b/travis/mingw32/before_install.sh
@@ -5,9 +5,11 @@ set -e
./travis/before_install.sh
sudo apt-get update -qq
+sudo apt-get install wget
sudo apt-get install binutils-mingw-w64-x86-64
sudo apt-get install gcc-mingw-w64-x86-64
sudo apt-get install g++-mingw-w64-x86-64
sudo apt-get install g++-mingw-w64
sudo apt-get install mingw-w64-tools
sudo apt-get install -y wine1.4-amd64
+sudo apt-get install sqlite3 \ No newline at end of file
diff --git a/travis/mingw32/install.sh b/travis/mingw32/install.sh
index 8abc98ac..6d388156 100755
--- a/travis/mingw32/install.sh
+++ b/travis/mingw32/install.sh
@@ -4,17 +4,30 @@ set -e
export CCACHE_CPP2=yes
+# prepare wine environment
+wine64 cmd /c dir
+ln -s /usr/lib/gcc/x86_64-w64-mingw32/4.8/libstdc++-6.dll $HOME/.wine/drive_c/windows
+ln -s /usr/lib/gcc/x86_64-w64-mingw32/4.8/libgcc_s_sjlj-1.dll $HOME/.wine/drive_c/windows
+ln -s /usr/x86_64-w64-mingw32/lib/libwinpthread-1.dll $HOME/.wine/drive_c/windows
+
+# build sqlite3
+wget https://sqlite.org/2018/sqlite-autoconf-3250100.tar.gz
+tar xzf sqlite-autoconf-3250100.tar.gz
+(cd sqlite-autoconf-3250100 && CC="ccache x86_64-w64-mingw32-gcc" CXX="ccache x86_64-w64-mingw32-g++" LD=x86_64-w64-mingw32-ld ./configure --host=x86_64-w64-mingw32 --prefix=/tmp/proj_autoconf_install && make -j3 && make install)
+ln -s /tmp/proj_autoconf_install/bin/libsqlite3-0.dll $HOME/.wine/drive_c/windows
+
# prepare build files
./autogen.sh
# autoconf build
mkdir build_autoconf
cd build_autoconf
-CC="ccache x86_64-w64-mingw32-gcc" CXX="ccache x86_64-w64-mingw32-g++" LD=x86_64-w64-mingw32-ld ../configure --host=x86_64-w64-mingw32 --prefix=/tmp/proj_autoconf_install
+CC="ccache x86_64-w64-mingw32-gcc" CXX="ccache x86_64-w64-mingw32-g++" LD=x86_64-w64-mingw32-ld ../configure --host=x86_64-w64-mingw32 --with-sqlite3_include=/tmp/proj_autoconf_install/include --with-sqlite3_ldflags="-L/tmp/proj_autoconf_install/lib -lsqlite3" --prefix=/tmp/proj_autoconf_install
make -j3
make install
make dist-all
find /tmp/proj_autoconf_install
#make check
+test/unit/test_cpp_api.exe
cd ..
# Now with grids
wget http://download.osgeo.org/proj/proj-datumgrid-1.5.zip
@@ -24,7 +37,7 @@ cd ..
# autoconf build with grids
mkdir build_autoconf_grids
cd build_autoconf_grids
-CC="ccache x86_64-w64-mingw32-gcc" CXX="ccache x86_64-w64-mingw32-g++" LD=x86_64-w64-mingw32-ld ../configure --host=x86_64-w64-mingw32 --prefix=/tmp/proj_autoconf_install_nad
+CC="ccache x86_64-w64-mingw32-gcc" CXX="ccache x86_64-w64-mingw32-g++" LD=x86_64-w64-mingw32-ld ../configure --host=x86_64-w64-mingw32 --with-sqlite3_include=/tmp/proj_autoconf_install/include --with-sqlite3_ldflags="-L/tmp/proj_autoconf_install/lib -lsqlite3" --prefix=/tmp/proj_autoconf_install_nad
make -j3
make install
find /tmp/proj_autoconf_install_nad
diff --git a/travis/osx/before_install.sh b/travis/osx/before_install.sh
index 17c0e141..3e9d8d46 100755
--- a/travis/osx/before_install.sh
+++ b/travis/osx/before_install.sh
@@ -6,3 +6,10 @@ set -e
brew update
brew install ccache
+brew install sqlite3
+brew install doxygen
+
+export PATH=$HOME/Library/Python/2.7/bin:$PATH
+pip install --user sphinx sphinx-rtd-theme sphinxcontrib-bibtex breathe
+which sphinx-build
+(cd docs; make html)