diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2018-11-14 17:40:42 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2018-11-14 22:48:29 +0100 |
| commit | d928db15d53805d9b728b440079756081961c536 (patch) | |
| tree | e862a961d26bedb34c58e4f28ef0bdeedb5f3225 /travis | |
| parent | 330e8bf686f9c4524075ca1ff50cbca6c9e091da (diff) | |
| download | PROJ-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-x | travis/after_success.sh | 8 | ||||
| -rwxr-xr-x | travis/csa/before_install.sh | 3 | ||||
| -rwxr-xr-x | travis/install.sh | 17 | ||||
| -rwxr-xr-x | travis/linux_clang/before_install.sh | 4 | ||||
| -rwxr-xr-x | travis/linux_clang/install.sh | 3 | ||||
| -rwxr-xr-x | travis/linux_gcc/before_install.sh | 3 | ||||
| -rwxr-xr-x | travis/mingw32/before_install.sh | 2 | ||||
| -rwxr-xr-x | travis/mingw32/install.sh | 17 | ||||
| -rwxr-xr-x | travis/osx/before_install.sh | 7 |
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) |
