cmajor

Crates.iocmajor
lib.rscmajor
version0.5.0
sourcesrc
created_at2023-09-21 23:03:51.583449
updated_at2024-07-05 20:40:29.355627
descriptionRust bindings for the Cmajor JIT engine.
homepage
repository
max_upload_size
id980177
size219,368
James Hallowell (JamesHallowell)

documentation

README

cmajor-rs

Build Crates.io Docs.rs

Rust bindings for the Cmajor JIT engine.

Overview

Work-in-progress bindings for the Cmajor JIT engine, to enable embedding Cmajor programs in Rust apps.

Usage

Add this to your Cargo.toml:

[dependencies]
cmajor = "0.5"

You will also need to download the Cmajor library and tell the crate where to find it, either by:

  1. Passing the path on construction:

    use {cmajor::Cmajor, std::error::Error};
    
    fn main() -> Result<(), Box<dyn Error>> {
        let cmajor = Cmajor::new("path/to/libCmajPerformer.so")?;
    }
    
  2. Setting the CMAJOR_LIB_PATH environment variable (.env files are supported):

    CMAJOR_LIB_PATH=path/to/libCmajPerformer.so
    
    use cmajor::{Cmajor, std::error::Error};
    
    fn main() -> Result<(), Box<dyn Error>> {
        let cmajor = Cmajor::new_from_env()?;
    }
    

Crate Features

static (Experimental)

It is possible to statically link to Cmajor to avoid having to load the library dynamically at runtime. This will build the library from source, so you'll need to have the necessary build tools installed. This feature is disabled by default, and only has experimental support on macOS.

License

Licensed under GPLv3 (or later). Refer to the Cmajor licensing terms for more information.

Commit count: 0

cargo fmt