meos-sys

Crates.iomeos-sys
lib.rsmeos-sys
version0.1.8
sourcesrc
created_at2024-07-17 13:01:31.786564
updated_at2024-10-19 21:36:43.350273
descriptionMEOS C API bindings
homepage
repositoryhttps://github.com/MobilityDB/meos-rs
max_upload_size
id1306169
size494,804
Esteban Zimanyi (estebanzimanyi)

documentation

https://docs.rs/crate/meos-sys/

README

meos-sys

Low level MEOS C API bindings for MEOS.

It provides C-interface as is. If you want to use a more Rust-friendly crate, use the meos crate.

You can also find it on crates.io.

Versions >= 1.1 are supported.

Usage

You need to select as features what version do you want to obtain the bindings from (v1_1, v1_2), or alternatively, whether you want to build MEOS from scratch (bundled). This will mean adding to your Cargo.toml:

# Cargo.toml
[dependencies]
meos-sys = { version = "0.1.8", features = ["v1_2"] }

Build

The build by default will use system-installed MEOS, pkg-config is used to automatically detect MEOS

If MEOS is in a custom location, you can instead use the MEOS_LIB_DIR environment variable to configure MEOS detection.

If MEOS_LIB_DIR is not also in your system's standard dynamic library search path, you may need to add it to the dynamic library search path before running the tests or executable produced by cargo build.

Linux:

LD_LIBRARY_PATH=<path to MEOS>/lib MEOS_LIB_DIR=<path to MEOS>/lib MEOS_VERSION=<version> cargo test

MacOS:

DYLD_FALLBACK_LIBRARY_PATH=<path to MEOS>/lib MEOS_LIB_DIR=<path to MEOS>/lib MEOS_VERSION=<version> cargo test

You can also enable the bundled feature to build MEOS from scratch. Note you will still have to have installed in your system GEOS, PROJ and JSON-C libraries. You can install all of them by running the following command in your (Debian based) machine:

sudo apt-get install libgeos-dev proj-bin libproj-dev proj-data libjson-c-dev

Binding generation

The 1.2 and 1.1 versions are already available as prebuilt bindings. Alternatively, you can generate your own bindings from your libmeos installation by specifying the bindgen feature.

Commit count: 69

cargo fmt