| Crates.io | pact_matching_ffi |
| lib.rs | pact_matching_ffi |
| version | 0.0.5 |
| created_at | 2021-05-04 00:40:11.165913+00 |
| updated_at | 2021-07-11 07:01:31.765503+00 |
| description | Pact matching interface for foreign languages. [DEPRECATED, replaced with pact_ffi] |
| homepage | |
| repository | |
| max_upload_size | |
| id | 392793 |
| size | 141,932 |
NOTE: This library is being moved into a single FFI library pact_ffi.
This crate provides a Foreign Function Interface (FFI) to the pact_matching crate,
with the intent of enabling Pact's core matching mechanisms to be used by implementations
in other languages.
This crates requires:
cbindgen, a tool for automatically generating the header file needed for C users of the crate.cbindgen to get the macro-expanded contents of the crate source).It will additionally attempt to find and use Doxygen to generate C-friendly documentation (you can of course alternatively use cargo doc to get Rustdoc documentation).
Note: Linking to the generated static library on Linux requires you to also link to pthread, dl and m.
For convenience, this tool integrates with CMake, which is setup to:
To use this CMake build, you can do the following:
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .
You can also optionally install the built artifacts as follows:
$ cmake --install . --prefix=<install location (omit to install globally)>
This project also includes example uses which depend on the crate via CMake.
Before building an example, make sure to run the following from the overall CMake build
directory (./build):
$ cmake --install . --prefix ./install
Then, from the example's directory, do the following:
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .
You can read about the architecture and design choices of this crate in ARCHITECTURE.md.