A fast 2D cubeature library written in C++, with Python bindings.
If you're simply looking for python, run pip install libjpathgen.
Else, to install the C++ library run
pip install git+https://github.com/iwishiwasaneagle/libjpathgen.git
cd libjpathgen
cmake \
-B build
-DCMAKE_BUILD_TYPE=Release \
.
cmake \
--build build \
--target installWith conda, be sure to add -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -DCMAKE_PREFIX_PATH=${CONDA_PREFIX} to ensure that
it is correctly installed in the env.
Ensure cubpackpp>=1.0.0 is installed from source.
Please see the official documentation.
The minimum supported version of libgeos is 3.11.1. This means that it must be built from source in ubuntu 20.4 as
even ppa:ubuntugis/ubuntugis-unstable cannot help here (3.10.2 is the maximum installable via apt).
The minimum version of pybind11 depends on the version of python. It is advised to either install from source or
using pip (pip install "pybind11[global]>=2.11.0").
WARNING: Ubuntu 22.04 only ships with pybind11@v2.9.1.
| Python | pybind11-dev |
|---|---|
| 3.10 | 2.9.0 |
| 3.11 | 2.10.0 |
| 3.12 | 2.11.0 |
Catch2>=v3.4.0 is required (see CI.yml)
cmake -B build \
-DJPATHGEN_ENABLE_UNIT_TESTING=ON \
-DCMAKE_BUILD_TYPE=Debug
cmake --build build -j $(nproc)
ctest --test-dir buildAdd -DJPATHGEN_ENABLE_CODE_COVERAGE=ON to the initial cmake call.
lcov --capture --directory build --output-file coverage.info
lcov --remove coverage.info --output-file coverage.info '/usr/*' '*/test/*' '*/extern/*' '*/geos/*'
genhtml coverage.info -o build/html
firefox build/html/index.html