Rust code that binds to the C++ rdkit library!
RDKit is a C++ mega-library, full of cheminformatics wisdom. We don't want to rewrite RDKit in Rust, we should instead meet somewhere in the middle and "bridge" Rust to C++ through some wrappers.
The goal is to do 1-1 bindings with the C++ library, exposing all the classes as we need them. The goal is not to create a high-level binding with useful functionality strung together like in the MinimalLib (cffiwrapper). Our goal is to expose the building blocks. If you're looking for useful functionality strung together, check out the rdkit crate.
On Mac:
brew install rdkit
boost is a RDKit C++ dependency, cmake is how you create RDKit's Makefile, llvm is used by bind-gen to create the rust bindings.rs file with all the dylib definitions required to use RDKit from rust.
Or just run the test suite:
cargo test
cargo publish
without --no-verify
(otherwise it detects changes outside of OUTDIR)cargo clean
and retry with cargo build -vv
)