Official GEOS git repository
 
 
 
 
 
 
Go to file
Sandro Santilli 5b6d5406c2 Install a fake git2cl in gitlab-ci
This fixes "distcheck" step

git-svn-id: http://svn.osgeo.org/geos/trunk@4291 5242fede-7e19-0410-aef8-94bd7d2200fb
2016-10-27 19:23:31 +00:00
capi Increment version to 3.7.0dev 2016-10-25 15:55:02 +00:00
cmake Add GenerateSourceGroups macro. 2014-11-26 14:58:35 +00:00
debian Complete Note#1 in the http://wiki.osgeo.org/wiki/GEOS_Provenance_Review to get out of incubation. 2012-01-16 18:00:20 +00:00
doc Prevent stack allocation of GeometryFactory 2015-10-02 09:59:33 +00:00
include Increment version to 3.7.0dev 2016-10-25 15:55:02 +00:00
macros Update ruby binding build scripts 2014-06-20 07:39:23 +00:00
src And more trailing spaces 2016-10-04 07:38:29 +00:00
swig Update ruby binding build scripts 2014-06-20 07:39:23 +00:00
tests Fix initialization order warning 2016-09-07 13:05:34 +00:00
tools Delete scripts no longer used in container-based Travis CI 2015-08-05 14:37:06 +00:00
.drone.yml Only run "make check", not "make distcheck" 2016-07-21 19:06:13 +00:00
.editorconfig Keep carriage-returns in *.vc files 2016-10-25 15:55:09 +00:00
.gitignore Remove PHP bindings, leave refs to separate repository 2016-07-19 18:26:20 +00:00
.gitlab-ci.yml Install a fake git2cl in gitlab-ci 2016-10-27 19:23:31 +00:00
.travis.yml Fix typo 2016-04-22 15:15:53 +00:00
.vimrc Complete implementation of SharedPathsOp 2010-11-29 09:33:24 +00:00
AUTHORS #641 - distinguish between active and inactive group and add Regina Obe to list. 2013-07-31 20:38:54 +00:00
CMakeLists.txt Increment version to 3.7.0dev 2016-10-25 15:55:02 +00:00
COPYING Fix FSF address in license file (#662) 2013-09-10 07:06:18 +00:00
HOWTO_RELEASE Update release procedure to drop manual ChangeLog generation 2016-10-27 14:58:18 +00:00
INSTALL Prepare for RC4 release. 2009-12-08 22:47:47 +00:00
Makefile.am Remove ChangeLog from repository. 2016-10-27 13:47:54 +00:00
NEWS Fix release date for 3.6.0, start 3.7.0 section 2016-10-25 16:00:34 +00:00
README.md Remove PHP bindings, leave refs to separate repository 2016-07-19 18:26:20 +00:00
TODO Add JTS triangulation api item 2011-10-27 07:04:57 +00:00
acsite.m4 git-svn-id: http://svn.osgeo.org/geos/trunk@3855 5242fede-7e19-0410-aef8-94bd7d2200fb 2013-07-31 14:13:07 +00:00
appveyor.yml AppVeyor: add some colours 2016-06-08 00:08:21 +00:00
authors.svn Fix my email address 2016-09-02 11:09:52 +00:00
autogen.bat Removed Subversion Id keyword from all text files (#480) 2011-09-23 01:03:54 +00:00
autogen.sh Stop symlinking README.md as README 2016-10-27 14:13:56 +00:00
build.bat Add convenient build.bat for Visual Studio and CMake users: 2016-08-24 08:57:47 +00:00
configure.ac Increment version to 3.7.0dev 2016-10-25 15:55:02 +00:00
makefile.vc Removed Subversion Id keyword from all text files (#480) 2011-09-23 01:03:54 +00:00
nmake.opt Add NMAKE version from VS2015 Update 3 2016-08-03 19:17:25 +00:00

README.md

GEOS -- Geometry Engine, Open Source

Project homepage: http://geos.osgeo.org/

Build status

Debbie Travis CI GitLab CI AppVeyor Drone OSGeo
trunk trunk trunk trunk master [status](https://drone.osgeo.kbt.io/geos/geos?branch=svn-trunk, alt=status)

More on: https://trac.osgeo.org/geos#BuildandInstall

Building, testing, installing

Unix

Using Autotools:

./autogen.sh  # in ${srcdir}, if obtained from SVN or GIT
${srcdir}/configure # in build dir

Using CMake:

cmake ${srcdir} # in build dir

Now, all versions:

make
make check
make install # as root
ldconfig # as root

Microsoft Windows

If you use Microsoft Visual C++ (7.1 or later) compiler, you can build GEOS using NMAKE program and provided makefile.vc files.

If you are building from SVN or GIT checkout, first run: autogen.bat Then:

nmake /f makefile.vc MSVC_VER=1400

where 1400 is version number of Visual C++ compiler, here Visual C++ 8.0 from Visual Studio 2005 (supported versions are 1300, 1310, 1400, 1500, 1600, 1700, 1800 and 1900). The bootstrap.bat step is required to generate a couple of header files.

In order to build debug configuration of GEOS, additional flag DEBUG=1 is required:

nmake /f makefile.vc MSVC_VER=1400 DEBUG=1

Client applications

To compile programs against the C lib (recommended):

CFLAGS += `geos-config --cflags`
LDFLAGS += `geos-config --ldflags` -lgeos_c
#include <geos_c.h>

Example usage:

capi/geostest.c contains basic usage examples.

Using the C++ interface (discouraged)

NB: The C++ interface should not be used directly; the GEOS project views it as a bug for another program to use the C++ interface or even to directly link against the C++ library. The C++ library name will change on every minor release because it is too hard to know if there have been ABI changes. (The C library uses the C++ interface, but the C library follows normal ABI-change-sensitive versioning, so programs that link only against the C library should work without relinking when GEOS is upgraded.)

To compile programs against the C++ lib:

CFLAGS += `geos-config --cflags`
LDFLAGS += `geos-config --ldflags` -lgeos
#include <geos.h>

Basic usage examples can be found in doc/example.cpp.

Scripting language bindings

Ruby bindings are fully supported. To build, use the --enable-ruby option when configuring:

./configure ... --enable-ruby

Since version 3.6.0 PHP bindings are not included in the core library anymore but available as a separate project:

https://git.osgeo.org/gogs/geos/php-geos

Since version 3.0, the Python bindings are unsupported. Recommended options:

  1. Become or recruit a new maintainer.
  2. Use Shapely with Python versions 2.4 or greater.
  3. Simply call functions from libgeos_c via Python ctypes.

Documentation

To build Doxygen documentation:

cd doc
make doxygen-html