From 7e89d11e6ef6de47dc45f465c0d27536c03197c6 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Tue, 9 Jun 2026 23:22:24 +0700 Subject: [PATCH] build: configure multi-binary targets and feature-gate dependencies --- crates/irtt-cli/Cargo.toml | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/crates/irtt-cli/Cargo.toml b/crates/irtt-cli/Cargo.toml index f68c32a..fbdd1ea 100644 --- a/crates/irtt-cli/Cargo.toml +++ b/crates/irtt-cli/Cargo.toml @@ -14,16 +14,31 @@ categories = ["command-line-utilities", "network-programming"] [lib] 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] -default = ["stats"] -stats = ["dep:irtt-stats"] -tui = ["stats", "dep:ratatui", "dep:crossterm"] +default = ["client", "stats"] +client = ["dep:irtt-client", "dep:irtt-proto"] +stats = ["client", "dep:irtt-stats"] +tui = ["client", "stats", "dep:ratatui", "dep:crossterm"] [dependencies] clap = { version = "4.6.1", features = ["derive"] } crossterm = { version = "0.28.1", optional = true } ctrlc = "3.5.2" -irtt-client.workspace = true -irtt-proto.workspace = true +irtt-client = { workspace = true, optional = true } +irtt-proto = { workspace = true, optional = true } irtt-stats = { workspace = true, optional = true } ratatui = { version = "0.29.0", optional = true }