|0.2.0||Aug 22, 2023|
|0.0.6||Aug 10, 2022|
|0.0.1||Feb 27, 2022|
|0.0.0||Oct 22, 2020|
#11 in Data formats
90 downloads per month
High-level cxx-based bindings for Ptex
src directory contains the ptex crate.
ptex crate provides a high-level safe API over the low-level
ptex-sys crate should not be used directly.
ptex-sys crates requires you to install the C++
Ptex library in order to build the
Add ptex to your
[dependencies] ptex = "0.2.0"
ptex crate is built using
cargo build but you must ensure that
pkg-config is able to find your Ptex installation.
If the C++ Ptex library is installed to a non-system directory then you must
PKG_CONFIG_PATH environment variable to point to the
share/pkgconfig directory inside the Ptex installtion.
pkg-config is used by
ptex-sys/build.rs in order to locate the
Ptex libraries and C++ headers. If Ptex is installed to a global system
location such as
PKG_CONFIG_PATH does not need to be
pkg-config searches in the system locations by default.
Garden can be used to clone Ptex to
ptex subdirectory and install the C++ Ptex library to
Garden configures the
PKG_CONFIG_PATH environment variable to contain
$PWD/ptex/dist/share/pkgconfig when running commands.
Run the following Garden commands
to bootstrap a development environment containing Ptex so that the the
ptex crate can be built.
garden grow ptex garden build all
These commands perform the following steps:
garden growclones Ptex into the
ptexdirectory using the URL configured in the
garden build allbuilds the C++ Ptex library, installs it to
LD_LIBRARY_PATHto point into
ptex/dist, and builds the
The test suite in the
tests directory is used to validate the
The Garden recipe contains
check commands that are used to run
the test suite and run checks over the source code.
# Run tests garden test # Run checks and linters garden check
A typical development workflow loop in this repository contains the following steps:
Build the Ptex C++ library. (
garden build ptex)
ptex-syslow-level Ptex bindings. (
garden build ptex-sys)
Build the high-level
garden build ptex))
Run tests across all crates. (
Run checks across all crates. (
garden.yaml recipe provides a command to perform all of the above steps in a single shot:
# Build, test and check everything. garden dev
ptex crate currently tracks the latest stable Ptex version.
Branches will be created for older versions in the future when newer major or minor Ptex releases are available.
The tags in this repository correspond to the
ptex crate versions.
ptex crate version will be tagged and released with a non-v0
version number that matches the underlying C++ Ptex library once the
ptex crate is feature-complete.