build: configure multi-binary targets and feature-gate dependencies

This commit is contained in:
Nils Andreas Svee committed 2026-06-09 23:23:51 +07:00
1 parent 196fc29f76
commit 7e89d11e6e
1 file changed
+20 -5
+20 -5
View File
@@ -14,16 +14,31 @@ categories = ["command-line-utilities", "network-programming"]
[lib] [lib]
doc = false doc = false
[[bin]]
name = "irtt-rs"
path = "src/main.rs"
[[bin]]
name = "irtt-cli"
path = "src/main.rs"
required-features = ["client"]
[[bin]]
name = "irtt-tui"
path = "src/main.rs"
required-features = ["tui"]
[features] [features]
default = ["stats"] default = ["client", "stats"]
stats = ["dep:irtt-stats"] client = ["dep:irtt-client", "dep:irtt-proto"]
tui = ["stats", "dep:ratatui", "dep:crossterm"] stats = ["client", "dep:irtt-stats"]
tui = ["client", "stats", "dep:ratatui", "dep:crossterm"]
[dependencies] [dependencies]
clap = { version = "4.6.1", features = ["derive"] } clap = { version = "4.6.1", features = ["derive"] }
crossterm = { version = "0.28.1", optional = true } crossterm = { version = "0.28.1", optional = true }
ctrlc = "3.5.2" ctrlc = "3.5.2"
irtt-client.workspace = true irtt-client = { workspace = true, optional = true }
irtt-proto.workspace = true irtt-proto = { workspace = true, optional = true }
irtt-stats = { workspace = true, optional = true } irtt-stats = { workspace = true, optional = true }
ratatui = { version = "0.29.0", optional = true } ratatui = { version = "0.29.0", optional = true }