Commit 2cfc5ff7 authored by Michael Fladischer's avatar Michael Fladischer

Imported Upstream version 2.0.0

parents
# default build directory
build
.DS_Store
.vagrant
issues
tools/vagrant/packaging.sh
*.mo
# ------------------------------------------------------------------------------
# Travis CI scripts
# Copyright(c) pgRouting Contributors
#
# Main configuration
# ------------------------------------------------------------------------------
language: c
compiler:
- gcc
notifications:
email:
on_failure: project@pgrouting.org
branches:
only:
- develop
- feature-travis
services:
#- postgresql
env:
matrix:
#- POSTGRESQL_VERSION=8.4 POSTGIS_VERSION=1.5
- POSTGRESQL_VERSION=9.0 POSTGIS_VERSION=1.5
- POSTGRESQL_VERSION=9.1 POSTGIS_VERSION=1.5
- POSTGRESQL_VERSION=9.1 POSTGIS_VERSION=2.0
- POSTGRESQL_VERSION=9.2 POSTGIS_VERSION=2.0
#- POSTGRESQL_VERSION=9.3 POSTGIS_VERSION=2.0
- POSTGRESQL_VERSION=9.1 POSTGIS_VERSION=2.1
- POSTGRESQL_VERSION=9.2 POSTGIS_VERSION=2.1
#- POSTGRESQL_VERSION=9.3 POSTGIS_VERSION=2.1
install:
- ./tools/travis/pgrouting_install.sh $POSTGRESQL_VERSION $POSTGIS_VERSION
before_script:
#-
script:
- ./tools/travis/pgrouting_build.sh $POSTGRESQL_VERSION $POSTGIS_VERSION
after_script:
- ./tools/travis/pgrouting_prepare.sh $POSTGRESQL_VERSION $POSTGIS_VERSION
- ./tools/travis/pgrouting_test.sh $POSTGRESQL_VERSION $POSTGIS_VERSION
after_success:
#- ./tools/travis/pgrouting_deploy.sh $POSTGRESQL_VERSION $POSTGIS_VERSION
This diff is collapsed.
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
This diff is collapsed.
This diff is collapsed.
# pgRouting - Routing on PostgreSQL
## STATUS
The *master* branch reflects our current 2.0.0 release. iPost 2.0.0 development will happen in the *develop* branch. The 2.0 release is not backwards compatible with the 1.x releases because we have totally restructured the API and the source code to position the product for additional future growth. Once you see all the new functionality that we have added and the simplier API design we thing you will be very happy with the results.
## LINKS
* http://pgrouting.org/
* http://docs.pgrouting.org/dev/doc/index.html
* https://github.com/pgRouting/pgrouting
<table>
<tr>
<td>Branch</td>
<td>Status</td>
<td>Comment</td>
</tr>
<tr>
<td>master</td>
<td><img src="https://travis-ci.org/pgRouting/pgrouting.png?branch=master" alt="Build Status"/></td>
<td>not enabled</td>
</tr>
<tr>
<td>develop</td>
<td><img src="https://travis-ci.org/pgRouting/pgrouting.png?branch=develop" alt="Build Status"/></td>
<td></td>
</tr>
<tr>
<td>gh-pages</td>
<td><img src="https://travis-ci.org/pgRouting/pgrouting.png?branch=gh-pages" alt="Build Status"/></td>
<td>not enabled</td>
</tr>
</table>
## INTRODUCTION
pgRouting extends the PostGIS/PostgreSQL geospatial database to provide geospatial routing and other network analysis functionality.
This library contains following features:
* All Pairs Shortest Path, Johnson’s Algorithm
* All Pairs Shortest Path, Floyd-Warshall Algorithm
* Shortest Path A*
* Bi-directional Dijkstra Shortest Path
* Bi-directional A* Shortest Path
* Shortest Path Dijkstra
* Driving Distance
* K-Shortest Path, Multiple Alternative Paths
* K-Dijkstra, One to Many Shortest Path
* Traveling Sales Person
* Turn Restriction Shortest Path (TRSP)
## REQUIREMENTS
* C and C++ compilers
* Postgresql version >= 8.4 (9.1 or higher recommended)
* PostGIS version >= 1.5 (2.0 or higher recommended)
* The Boost Graph Library (BGL). Version >= [TBD]
* CMake >= 2.8.8
* (optional, for Driving Distance) CGAL >= [TBD]
* (optional, for Documentation) Sphinx >= [TBD]
## INSTALLATION
See online documentation: http://docs.pgrouting.org/
## COMPILATION
For MinGW on Windows
mkdir build
cd build
cmake -G"MSYS Makefiles" -DWITH_DD=ON ..
make
make install
Also pre-built Windows binaries can be downloaded from:
http://www.postgis.net/windows_downloads
For Linux
mkdir build
cd build
cmake -DWITH_DD=ON ..
make
sudo make install
Build with documentation (requires [Sphinx](http://sphinx-doc.org/))
cmake -DWITH_DOC=ON -DWITH_DD=ON ..
Postgresql 9.1+
createdb mydatabase
psql mydatabase -c "create extension postgis"
psql mydatabase -c "create extension pgrouting"
For older versions of postgresql
createdb -T template1 template_postgis
psql template_postgis -c "create language plpgsql"
psql template_postgis -f /usr/share/postgresql/9.0/contrib/postgis-1.5/postgis.sql
psql template_postgis -f /usr/share/postgresql/9.0/contrib/postgis-1.5/spatial_ref_sys.sql
psql template_postgis -f /usr/share/postgresql/9.0/contrib/postgis_comments.sql
createdb -T template_postgis template_pgrouting
psql template_pgrouting -f /usr/share/postgresql/9.0/contrib/pgrouting-2.0/pgrouting.sql
createdb -T template_pgrouting mydatabase
## USAGE
See online documentation: http://docs.pgrouting.org/dev/doc/index.html
## LICENSE
* Most features are available under GPLv2.
* Some Boost extensions are available under Boost license (see LICENSE_1_0.txt)
* Some code contributed by iMaptools.com is available under MIT-X license.
pgrouting-2.0.0-0-gf26831f master
# -*- mode: ruby -*-
# vi: set ft=ruby :
pgbox = ENV['BOX'] || "precise64"
postgres = ENV['POSTGRESQL_VERSION'] || "9.1"
postgis = ENV['POSTGIS_VERSION'] || "2.0"
Vagrant.configure("2") do |config|
# Vagrant box configuration
case pgbox
when "pgr32"
config.vm.box = "pgr32"
config.vm.box_url = "http://s3.amazonaws.com/pgrouting/pgrouting-precise32.box"
when "pgr64"
config.vm.box = "pgr64"
config.vm.box_url = "http://s3.amazonaws.com/pgrouting/pgrouting-precise64.box"
when "precise32", "precise64"
config.vm.box = pgbox
config.vm.box_url = "http://files.vagrantup.com/%s.box" % [pgbox]
end
# Bootstrap script
config.vm.provision :shell, :path => "tools/vagrant/bootstrap.sh", :args => "%s %s" % [postgres, postgis]
# Forward SSH agent to host
config.ssh.forward_agent = true
# Create synced folder for GnuPG keys and within home directory
config.vm.synced_folder "../", "/home/vagrant/repos"
config.vm.synced_folder "~/.gnupg", "/home/vagrant/.gnupg"
end
# install the cmake files
file(GLOB cmakeFiles "${CMAKE_CURRENT_SOURCE_DIR}/*.cmake")
\ No newline at end of file
# Copyright (C) 2009 Sun Microsystems, Inc
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# Concatenate files
#
# Parameters :
# IN - input file)
# OUT - output file
FUNCTION(CAT IN OUT)
FILE(READ ${IN} CONTENTS)
FILE(APPEND ${OUT} "${CONTENTS}")
ENDFUNCTION(CAT IN OUT)
# - Check whether the C compiler supports a given flag.
# CHECK_C_COMPILER_FLAG(FLAG VARIABLE)
#
# FLAG - the compiler flag
# VARIABLE - variable to store the result
# Copyright (c) 2006, Alexander Neundorf, <neundorf at kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
INCLUDE(CheckCSourceCompiles)
MACRO (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
SET(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
SET(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
CHECK_C_SOURCE_COMPILES("int main() { return 0;}" ${_RESULT})
SET (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
ENDMACRO (CHECK_C_COMPILER_FLAG)
# - Find CGAL
# Find the CGAL includes and client library
# This module defines
# CGAL_INCLUDE_DIR, where to find CGAL.h
# CGAL_LIBRARIES, the libraries needed to use CGAL.
# CGAL_FOUND, If false, do not try to use CGAL.
if(CGAL_INCLUDE_DIR AND CGAL_LIBRARIES AND BOOST_THREAD_LIBRARIES AND GMP_LIBRARIES)
set(CGAL_FOUND TRUE)
else(CGAL_INCLUDE_DIR AND CGAL_LIBRARIES AND BOOST_THREAD_LIBRARIES AND GMP_LIBRARIES)
FIND_PATH(CGAL_INCLUDE_DIR CGAL/basic.h
${CGAL_ROOT}/include
/usr/include
/usr/local/include
$ENV{ProgramFiles}/CGAL/*/include
$ENV{SystemDrive}/CGAL/*/include
)
find_library(CGAL_LIBRARIES NAMES CGAL libCGAL
PATHS
${CGAL_ROOT}/lib
/usr/lib
/usr/local/lib
/usr/lib/CGAL
/usr/lib64
/usr/local/lib64
/usr/lib64/CGAL
$ENV{ProgramFiles}/CGAL/*/lib
$ENV{SystemDrive}/CGAL/*/lib
)
# set(Boost_DEBUG ON)
find_package(Boost COMPONENTS thread REQUIRED)
if(Boost_FOUND)
set(BOOST_THREAD_LIBRARIES ${Boost_LIBRARIES})
endif(Boost_FOUND)
# check boost version we may need other components
if("${Boost_VERSION}" VERSION_GREATER "104900")
find_package(Boost COMPONENTS thread system REQUIRED)
if(Boost_FOUND)
set(BOOST_THREAD_LIBRARIES ${Boost_LIBRARIES})
endif(Boost_FOUND)
endif("${Boost_VERSION}" VERSION_GREATER "104900")
find_library(GMP_LIBRARIES NAMES gmp libgmp
PATHS
${GMP_ROOT}/lib
/usr/lib
/usr/local/lib
/usr/lib/gmp
/usr/lib64
/usr/local/lib64
/usr/lib64/gmp
$ENV{ProgramFiles}/gmp/*/lib
$ENV{SystemDrive}/gmp/*/lib
)