[package]
name = "dora-node-api-cxx"
version.workspace = true
edition.workspace = true
documentation.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[lib]
crate-type = ["staticlib"]

[features]
default = ["tracing"]
tracing = ["dora-node-api/tracing"]
ros2-bridge = [
    "dep:dora-ros2-bridge",
    "dep:dora-ros2-bridge-msg-gen",
    "dep:rust-format",
    "dep:prettyplease",
    "dep:serde",
    "dep:serde-big-array",
]

[dependencies]
cxx = "1.0.73"
dora-node-api = { workspace = true }
eyre = "0.6.8"
dora-ros2-bridge = { workspace = true, optional = true }
futures-lite = { version = "2.2" }
serde = { version = "1.0.164", features = ["derive"], optional = true }
serde-big-array = { version = "0.5.1", optional = true }
arrow = { workspace = true, features = ["ffi"] }

[build-dependencies]
cxx-build = "1.0.73"
dora-ros2-bridge-msg-gen = { workspace = true, optional = true }
rust-format = { version = "0.3.4", features = [
    "pretty_please",
], optional = true }
prettyplease = { version = "0.1", features = ["verbatim"], optional = true }
