descriptiongeos git mirror
homepage URLhttp://trac.osgeo.org/geos/
repository URLsvn+http://svn.osgeo.org/geos/
ownerkirr@navytux.spb.ru
last changeWed, 5 Apr 2017 10:25:03 +0000 (5 10:25 +0000)
last refreshMon, 8 Oct 2018 21:00:47 +0000 (8 23:00 +0200)
content tags
add:
README.md

GEOS -- Geometry Engine, Open Source

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

Build status

DebbieTravis CIGitLab CIAppVeyorOSGeo (Drone)
trunktrunktrunktrunktrunk

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
shortlog
2017-04-05 strkQuotes around otherwise ambiguous (underline containing... mastertrunk
2017-04-02 strkRemove unused include
2017-04-01 strkFix cmake build
2017-04-01 strkUse git describe as revision code if SVN metadata is...
2017-04-01 strkTurn GEOS_REVISION value into a string
2017-04-01 strkRemove trailing blanks
2017-03-31 strkRename GEOS_SVN_REVISION macro and cmake script to...
2017-03-31 strkRename svn_repo_revision.sh to repo_revision.sh
2017-03-31 strkRename geos_svn_revision.h to geos_revision.h
2017-03-30 mloskotRemove tests/unit/.editorconfig as useless.
2017-03-28 strkUse spaces under tests/unit
2017-03-28 mloskotCMake: Use CMAKE_CXX_STANDARD to require C++98
2017-03-28 mloskotTravis CI: Add ppa:george-edison55/precise-backports...
2017-03-28 mloskotAdd indent_size = 2 for .yml files
2017-03-28 mloskotCMake: Bump cmake_minimum_required to 3.0.0
2017-03-28 mloskotRemove build.bat script
...
tags
7 years ago 3.6.1
7 years ago 3.4.3
7 years ago 3.5.1
7 years ago 3.6.0
8 years ago 3.5.0
10 years ago 3.3.9
10 years ago 3.4.2
10 years ago 3.4.1
10 years ago 3.4.0
11 years ago 3.3.8
11 years ago 3.3.7
11 years ago 3.3.6
11 years ago 3.3.5
11 years ago 3.3.4
12 years ago 3.3.3
12 years ago 3.3.2
...
heads
7 years ago master