Crates.io | pact_matching_ffi |
lib.rs | pact_matching_ffi |
version | 0.0.5 |
source | src |
created_at | 2021-05-04 00:40:11.165913 |
updated_at | 2021-07-11 07:01:31.765503 |
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.