[package]
name = "cpz"
version.workspace = true
authors.workspace = true
edition.workspace = true
description = "Fast cp provides an alternative to cp that focuses on maximizing performance."
repository.workspace = true
keywords = ["tools", "files", "cp"]
categories = ["command-line-utilities", "development-tools", "filesystem"]
license.workspace = true
rust-version.workspace = true

[dependencies]
clap = { version = "4.6.1", features = ["derive", "wrap_help"] }
error-stack = { version = "0.7.1", default-features = false, features = ["std"] }
fuc_engine = { version = "3", path = "../fuc_engine" }
indicatif = { version = "0.18.4", optional = true }
thiserror = "2.0.18"
tracing = { version = "0.1.44", optional = true }
tracing-indicatif = { version = "0.3.14", optional = true }
tracing-subscriber = { version = "0.3.23", features = ["env-filter"], optional = true }
tracing-tracy = { version = "0.11.4", features = ["flush-on-exit"], optional = true }
tracy-client = { version = "0.18.4", optional = true }

[dev-dependencies]
cache-size = "0.7.0"
criterion = "0.8.2"
memmap2 = "0.9.10"
rand = "0.10.1"
supercilex-tests = { version = "0.4.22", default-features = false, features = ["clap"] }
tempfile = "3.27.0"
trycmd = "1.2.0"

[target.'cfg(unix)'.dev-dependencies]
rustix = { version = "1.1.4", features = ["fs", "pipe"] }

[features]
trace = ["fuc_engine/tracing", "dep:tracing", "dep:tracing-subscriber", "dep:tracing-tracy", "dep:tracy-client"]
progress = ["fuc_engine/tracing", "dep:tracing", "dep:tracing-subscriber", "dep:tracing-indicatif", "dep:indicatif"]

[[bench]]
name = "copy_methods"
harness = false
