[package]
name = "qsc"
description = "Q# compiler"

version.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
edition.workspace = true
license.workspace = true

[dependencies]
clap = { workspace = true, features = ["derive", "cargo"] }
env_logger = { workspace = true }
log = { workspace = true }
miette = { workspace = true, features = ["fancy-no-syscall"] }
num-bigint = { workspace = true }
num-complex = { workspace = true }
qsc_codegen = { path = "../qsc_codegen" }
qsc_data_structures = { path = "../qsc_data_structures" }
qsc_doc_gen = { path = "../qsc_doc_gen" }
qsc_formatter = { path = "../qsc_formatter" }
qsc_eval = { path = "../qsc_eval" }
qsc_frontend = { path = "../qsc_frontend" }
qsc_linter = { path = "../qsc_linter" }
qsc_lowerer = { path = "../qsc_lowerer" }
qsc_ast = { path = "../qsc_ast" }
qsc_fir = { path = "../qsc_fir" }
qsc_hir = { path = "../qsc_hir" }
qsc_passes = { path = "../qsc_passes" }
qsc_parse = { path = "../qsc_parse" }
qsc_partial_eval = { path = "../qsc_partial_eval" }
qsc_project = { path = "../qsc_project", features = ["fs"] }
qsc_rca = { path = "../qsc_rca" }
qsc_circuit = { path = "../qsc_circuit" }
rustc-hash = { workspace = true }
thiserror = { workspace = true }
allocator = { path = "../../allocator" }

[dev-dependencies]
criterion = { workspace = true, features = ["cargo_bench_support"] }
expect-test = { workspace = true }
indoc = { workspace = true }

[lints]
workspace = true

[lib]
bench = false
doctest = false

[[bin]]
name = "qsc"
bench = false
test = false

[[bin]]
name = "qsi"
bench = false
test = false

[[bin]]
name = "memtest"
bench = false
test = false

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

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

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

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