[package] name = "mpi" version = "0.8.0" authors = [ "Benedikt Steinbusch ", "Andrew Gaspar ", "Jed Brown ", ] description = "Message Passing Interface bindings for Rust" homepage = "https://github.com/rsmpi/rsmpi" repository = "https://github.com/rsmpi/rsmpi" documentation = "https://docs.rs/mpi" readme = "README.md" keywords = ["message-passing", "parallel"] categories = ["concurrency"] license = "MIT OR Apache-2.0" edition = "2021" rust-version = "1.70" exclude = [ ".github/", "ci/*.sh", ] [workspace] members = [ "build-probe-mpi", "mpi-derive", "mpi-sys", ] [features] default = ["user-operations"] user-operations = ["libffi"] derive = ["mpi-derive", "memoffset"] complex = ["dep:num-complex"] [dependencies] conv = "0.3.3" libffi = { version = "3.2.0", optional = true } memoffset = { version = "0.9", optional = true } mpi-derive = { path = "mpi-derive", version = "0.1.2", optional = true } mpi-sys = { path = "mpi-sys", version = "0.2.2" } num-complex = { version = "0.4.5", optional = true } once_cell = "1.19" smallvec = "1.13.2" thiserror = "1.0.58" [build-dependencies] build-probe-mpi = { path = "build-probe-mpi", version = "0.1.4" } [dev-dependencies] memoffset = "0.9" # used by complex_datatype, which does not use "derive" feature # The following tests depend on specific features [[example]] name = "complex_numbers" required-features = ["complex"] doc-scrape-examples = true # Needed in at least one [[example]] to use dev-dependencies [[example]] name = "struct" required-features = ["derive"] [[example]] name = "derive_multiple_thread_init" required-features = ["derive"] [[example]] name = "derive_nonthreaded_panic" required-features = ["derive"] [[example]] name = "derive_postfinalize_panic" required-features = ["derive"] [[example]] name = "derive_preinit_panic" required-features = ["derive"] [package.metadata.release] tag-name = "{{crate_name}}-{{version}}" pre-release-replacements = [ { file = "README.md", search = "version = \"[0-9.]*\"", replace = "version = \"{{version}}\"" }, { file = "src/lib.rs", search = "mpi = \"[0-9.]*\"", replace = "mpi = \"{{version}}\"" }, { file = "CHANGELOG.md", search = "`main` branch", replace = "{{version}} ({{date}})" }, ] # https://doc.rust-lang.org/rustdoc/scraped-examples.html [package.metadata.docs.rs] cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]