Skip to content

Commit

Permalink
Merge commit '94304391b2d7b3192f336cdf3184f69a410594e8' as 'proj4'
Browse files Browse the repository at this point in the history
  • Loading branch information
Derek Dohler authored and Derek Dohler committed Dec 25, 2016
2 parents ca26ba6 + 9430439 commit 2aa6424
Show file tree
Hide file tree
Showing 385 changed files with 79,284 additions and 0 deletions.
89 changes: 89 additions & 0 deletions proj4/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
*~
Makefile
Makefile.in
CMakeFiles
CMakeCache.txt
CTestTestfile.cmake
cmake_install.cmake
install_manifest.txt
cmake/project-config*.cmake

/*.manifest
/*.swp
/aclocal.m4
/autom4te.cache
/config.cache
/config.guess
/config.log
/config.status
/config.sub
/configure
/compile
/depcomp
/install-sh
/libtool
/ltmain.sh
/missing
/nbproject
/proj.pc
/bin
/lib
/DartConfiguration.tcl
/Testing

# html
/html/dl
/html/robots.txt

# m4
/m4/libtool.m4
/m4/ltoptions.m4
/m4/ltsugar.m4
/m4/ltversion.m4
/m4/lt~obsolete.m4

# nad
/nad/install
/nad/WI
/nad/prvi
/nad/WO
/nad/alaska
/nad/FL
/nad/README.NADUS
/nad/stpaul
/nad/stgeorge
/nad/TN
/nad/conus
/nad/MD
/nad/hawaii
/nad/stlrnc
/nad/null
/nad/*.lla

# src
/src/*.o
/src/*.lo
/src/*.la
/src/proj.dll
/src/*.lib
/src/*.pdb
/src/*.exp
/src/*.opt
/src/*.obj
/src/*.exe
/src/.libs
/src/.deps
/src/*.manifest
/src/*.swp
/src/nad2nad
/src/nad2bin
/src/proj
/src/geod
/src/stamp-h*
/src/proj_config.h
/src/proj_config.h.in
/src/cs2cs
/src/multistresstest
/src/test228

/docs/build
139 changes: 139 additions & 0 deletions proj4/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# This is the config file for building proj.4 and running its test suite
# with Travis-ci.org

language: c

services:
docker

compiler:
- gcc
# - clang

os:
- linux
# - osx

matrix:
exclude:
- os: osx
compiler: gcc

before_install: ./travis/before_install.sh

install:
# prepare build files
- ./autogen.sh
# cmake build
- mkdir build_cmake
- cd build_cmake
- cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/proj_cmake_install
- make -j3
- make install
- find /tmp/proj_cmake_install
- cd ..
# autoconf build
- mkdir build_autoconf
- cd build_autoconf
- ../configure --prefix=/tmp/proj_autoconf_install
- make -j3
- make install
- make dist-all
- find /tmp/proj_autoconf_install
- make check
# Check consistency of generated tarball
- TAR_FILENAME=`ls *.tar.gz`
- TAR_DIRECTORY=`basename $TAR_FILENAME .tar.gz`
- tar xvzf $TAR_FILENAME
- cd $TAR_DIRECTORY
- ./configure --prefix=/tmp/proj_autoconf_install_from_dist_all
- make -j3
- make install
- make dist-all
- make check
- CURRENT_PWD=`pwd`
- cd /tmp/proj_autoconf_install
- find | sort > /tmp/list_proj_autoconf_install.txt
- cd /tmp/proj_autoconf_install_from_dist_all
- find | sort > /tmp/list_proj_autoconf_install_from_dist_all.txt
- cd $CURRENT_PWD
# The list of file is not identical. See http://lists.maptools.org/pipermail/proj/2015-September/007231.html
# - diff -u /tmp/list_proj_autoconf_install.txt /tmp/list_proj_autoconf_install_from_dist_all.txt
- cd ..
#
- cd ..
# Now with grids
- wget http://download.osgeo.org/proj/proj-datumgrid-1.5.zip
- cd nad
- unzip -o ../proj-datumgrid-1.5.zip
- cd ..
# cmake build with grids
- mkdir build_cmake_nad
- cd build_cmake_nad
- cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/proj_cmake_install_nad
- make -j3
- make install
- find /tmp/proj_cmake_install_nad
- cd ..
# autoconf build with grids
- mkdir build_autoconf_nad
- cd build_autoconf_nad
- ../configure --prefix=/tmp/proj_autoconf_install_nad
- make -j3
- make install
- find /tmp/proj_autoconf_install_nad
- make check
- cd src
- make multistresstest
- make test228
- cd ..
- PROJ_LIB=../nad src/multistresstest
- cd ..
# autoconf build with grids and coverage
- if [ $TRAVIS_OS_NAME == "osx" ]; then
CFLAGS="-DPJ_SELFTEST --coverage" ./configure;
else
CFLAGS="-DPJ_SELFTEST --coverage" LDFLAGS="-lgcov" ./configure;
fi
- make -j3
- make check
- ./src/proj -VC

# install & run the working GIGS test
# create locations that pyproj understands
- python3 --version
- ln -s src include
- ln -s src/.libs lib
- mkdir share
- ln -s nad share/proj
- pwd
# install pyproj
- PROJ_DIR=`pwd` pip3 install -v --user pyproj

- cd test/gigs
# run test_json.py
- PROJ_LIB=../../nad python3 test_json.py --test conversion 5101.1-jhs.json 5101.4-jhs-etmerc.json 5105.2.json 5106.json 5108.json 5110.json 5111.1.json
- PROJ_LIB=../../nad python3 test_json.py 5101.2-jhs.json 5101.3-jhs.json 5102.1.json 5103.1.json 5103.2.json 5103.3.json 5107.json 5109.json 5112.json 5113.json 5201.json 5208.json
- cd ../..

- mv src/.libs/*.gc* src

script:
- echo "done"

after_success:
# 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
- echo "$TRAVIS_SECURE_ENV_VARS"
- sh -c "./travis/build_docs.sh"
- sh -c 'if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "master"; then echo "publish website"; ./travis/add_deploy_key.sh; ./travis/deploy_website.sh $TRAVIS_BUILD_DIR/docs/build /tmp; fi'

notifications:
#email:
# recipients:
# - [email protected]

irc:
channels:
- "irc.freenode.org#gdal"
use_notice: true
17 changes: 17 additions & 0 deletions proj4/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Original Author:
Gerald Evenden

Maintainer(s):
Frank Warmerdam <[email protected]>
Howard Butler <[email protected]>

Contributors:
Brent Fraser <[email protected]>
Chris Stuber <[email protected]>
Craig Bruce <[email protected]>
Victor Osipkov <[email protected]>
Andrea Antonello <[email protected]>
Charles Karney <[email protected]>
Karsten Engsager
Knud Poder

120 changes: 120 additions & 0 deletions proj4/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
#################################################################################
#
# This file is part of CMake configuration for PROJ4 library (inspired from SOCI
# CMake, Copyright (C) 2009-2010 Mateusz Loskot <[email protected]> )
#
# Copyright (C) 2011 Nicolas David <[email protected]>
# Distributed under the MIT license
#
#################################################################################
# General settings
#################################################################################
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)

# proj4 is an ANSI C project
project(PROJ4 C)
set(PROJECT_INTERN_NAME PROJ)

#################################################################################
# PROJ4 CMake modules
#################################################################################
# Path to additional CMake modules
set(CMAKE_MODULE_PATH ${PROJ4_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
set(CMAKE_MODULE_PATH ${PROJ4_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})

include(Proj4Utilities)

message(STATUS "")
colormsg(_HIBLUE_ "Configuring PROJ:")

#################################################################################
#PROJ version information
#################################################################################
include(Proj4Version)
proj_version(MAJOR 4 MINOR 9 PATCH 3)
set(PROJ_API_VERSION "12")
set(PROJ_BUILD_VERSION "12.0.0")

#################################################################################
# Build features and variants
#################################################################################
include(Proj4SystemInfo)
include(Proj4Config)
include(Proj4Mac)
include(policies)

#################################################################################
# Self-test build config
#################################################################################

option(SELFTEST "Include self-test in build" OFF)
if(SELFTEST)
add_definitions(-DPJ_SELFTEST)
endif(SELFTEST)

#################################################################################
# threading configuration
#################################################################################
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
find_package (Threads)

include(CheckIncludeFiles)
include(CheckSymbolExists)
CHECK_SYMBOL_EXISTS(PTHREAD_MUTEX_RECURSIVE pthread.h HAVE_PTHREAD_MUTEX_RECURSIVE_DEFN)
if (HAVE_PTHREAD_MUTEX_RECURSIVE_DEFN)
add_definitions(-DHAVE_PTHREAD_MUTEX_RECURSIVE=1)
endif()

boost_report_value(PROJ_PLATFORM_NAME)
boost_report_value(PROJ_COMPILER_NAME)

# Set a default build type for single-configuration cmake generators if
# no build type is set.
if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
set (CMAKE_BUILD_TYPE Release)
endif ()

if (MSVC OR CMAKE_CONFIGURATION_TYPES)
# For multi-config systems and for Visual Studio, the debug version of
# the library has _d appended.
set (CMAKE_DEBUG_POSTFIX _d)
endif ()

option(PROJ4_TESTS "Enable build of collection of PROJ4 tests" ON)
boost_report_value(PROJ4_TESTS)
if(PROJ4_TESTS)
include(CTest)
enable_testing()
endif(PROJ4_TESTS)
include(Proj4Test)

# Put the libaries and binaries that get built into directories at the
# top of the build tree rather than in hard-to-find leaf
# directories. This simplifies manual testing and the use of the build
# tree rather than installed Boost libraries.
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
link_directories(${CMAKE_LIBRARY_OUTPUT_DIRECTORY})

#################################################################################
# Installation
#################################################################################
include(Proj4InstallPath)
set(BINDIR "${DEFAULT_BINDIR}" CACHE PATH "The directory to install binaries into.")
set(LIBDIR "${DEFAULT_LIBDIR}" CACHE PATH "The directory to install libraries into.")
set(DATADIR "${DEFAULT_DATADIR}" CACHE PATH "The directory to install data files into.")
set(DOCDIR "${DEFAULT_DOCDIR}" CACHE PATH "The directory to install doc files into.")
set(INCLUDEDIR "${DEFAULT_INCLUDEDIR}" CACHE PATH "The directory to install includes into.")

#################################################################################
# Build configured components
#################################################################################
include_directories(${PROJ4_SOURCE_DIR}/src)

message(STATUS "")
add_subdirectory(nad)
add_subdirectory(src)
add_subdirectory(man)
add_subdirectory(cmake)

Loading

0 comments on commit 2aa6424

Please sign in to comment.