Download and Build
Release | Release Date | First Release | Final Release | Download Link | Changes |
---|---|---|---|---|---|
3.13.0 | 2024/09/06 | 2024/09/06 | 2028/10/01 | geos-3.13.0.tar.bz2 | Changes |
3.12.2 | 2024/06/05 | 2023/06/27 | 2027/07/01 | geos-3.12.2.tar.bz2 | Changes |
3.11.4 | 2024/06/05 | 2022/07/01 | 2026/07/01 | geos-3.11.4.tar.bz2 | Changes |
3.10.6 | 2023/11/11 | 2021/10/20 | 2025/10/20 | geos-3.10.6.tar.bz2 | Changes |
3.9.5 | 2023/11/12 | 2020/12/09 | 2024/12/09 | geos-3.9.5.tar.bz2 | Changes |
3.8.4 EOL | 2023/11/12 | 2019/10/10 | 2023/11/12 | geos-3.8.4.tar.bz2 | Changes |
Old releases can be downloaded from https://download.osgeo.org/geos/. Any releases not in this list are end-of-life (EOL). Refer to our EOL policy for details. All Final Release dates are subject to change.
- CMake 3.15 or later.
- C++14 compiler. We regularly test GCC, Clang and Microsoft Visual C++.
- Doxygen to build the API documentation.
Builds with CMake are done “outside the tree” in a build directory either in the source tree or next to it. The following shows building into a directory in the source tree.
# Unpack and setup build directory
tar xvfj geos-3.13.0.tar.bz2
cd geos-3.13.0
mkdir _build
cd _build
# Set up the build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
..
# Run the build, test, install
make
ctest
make install
The GEOS build can be customized using build options.
Options are specified via cmake
variables.
They are specified on the cmake
cmdline as -DVAR=VALUE
.
NOTE: Running cmake with no variables does NOT clear current variable settings. They must be set explicitly on the cmdline, or interactively usingccmake ..
. To revert to the defaults, clear the build directory contents usingrm -rf *
.
Option | Default | Note |
---|---|---|
CMAKE_BUILD_TYPE | Release | Use Debug to build with debug flags and optimizations off. Use Release for packaging and production installs. Use RelWithDebInfo for optimized build with debug symbols. Use ASAN to enable memory usage checking. |
CMAKE_INSTALL_PREFIX | /usr/local | Set to install root. Libraries end up in ./lib or ./lib64 , headers in ./include , executables in ./bin |
BUILD_DOCUMENTATION | ON | Attempt to find doxygen executable and build API docs |
BUILD_SHARED_LIBS | ON | Build dynamically linkable libraries |
BUILD_TESTING | ON | Build unit tests |
BUILD_BENCHMARKS | OFF | Build benchmark tests |
USE_CCACHE | OFF | Use ccache to compile C/C++ objects, making subsequent builds quicker |
It is possible to run ctest
directly. This gives access to ctest command line options (see ctest --help
for a listing).
ctest
ctest --output-on-failure
ctest --verbose
A list of GEOS test suites is obtained by running ctest --show-only
:
$ ctest --show-only
#
# Test project /home/dan/dev/libgeos/cmake-build-debug
# Test #1: test_geos_unit
# Test #2: test_xmltester
# Test #3: test_bug234
# Test #4: test_sweep_line_speed
A subset of test suites can be run using a regular expression (and in this case, running 4 jobs in parallel):
$ ctest --tests-regex test_ --parallel 4