[package]
name = "gmt_dos-systems_m2"
version = "0.1.2"
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
categories.workspace = true
keywords.workspace = true
description = "GMT DOS M2 System"

[dependencies]
gmt_m2-ctrl_asm_preshape-filter = "0.2.1"
gmt_m2-ctrl_asm_pid-damping = "0.2.1"
gmt_m2-ctrl_asm_positionner = "0.2.1"
gmt_dos-actors = { workspace = true, features = ["serde"] }
gmt_dos-clients = { workspace = true, features = ["matio-rs"] }
interface.workspace = true
gmt_dos-clients_io.workspace = true
gmt_dos-clients_fem = { workspace = true }
gmt-fem.workspace = true
rayon.workspace = true
nalgebra = { workspace = true, features = ["serde-serialize"] }
log.workspace = true
matio-rs = { workspace = true, features = ["nalgebra"] }
thiserror.workspace = true
paste = "1.0.15"
serde.workspace = true
bincode = { workspace = true, optional = true }
polars = { version = "0.53.0", features = ["parquet"], optional = true }
gmt_dos-clients_m2-ctrl = { workspace = true, features = ["serde"] }
complot = { version = "0.3.5", optional = true }

[build-dependencies]
gmt-fem-code-builder.workspace = true

[features]
serde = ["bincode/serde", "nalgebra/serde-serialize"]
complot = ["dep:complot"]
cuda = ["gmt_dos-clients_fem/cuda"]

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = [
    'cfg(topend,values("FSM","ASM"))',
]}

[dev-dependencies]
gmt_dos-clients.workspace = true
gmt_dos-clients_arrow.workspace = true
tokio = { workspace = true, features = ["full"] }
