topola/Cargo.toml

116 lines
2.2 KiB
TOML

[package]
name = "topola"
description = "Work-in-progress free and open-source topological (rubberband) router and autorouter for printed circuit boards (PCBs)"
version = "0.1.0"
edition = "2021"
default-run = "topola"
[lib]
name = "topola"
[[bin]]
name = "topola"
required-features = ["cli"]
[[bin]]
name = "topola-egui"
required-features = ["egui"]
[features]
default = ["disable_contracts"]
cli = ["dep:clap"]
egui = [
"dep:eframe",
"dep:egui",
"dep:env_logger",
"dep:fluent-templates",
"dep:futures-lite",
"dep:rfd",
"dep:sys-locale",
"dep:unic-langid"
]
disable_contracts = ["contracts-try/disable_contracts"]
[dependencies]
thiserror = "1.0"
rstar = "0.12"
petgraph = "0.6.5"
spade = "2.12.1"
serde_json = "1.0"
enum_dispatch = "0.3.13"
contracts-try = "0.7"
bimap = "0.6.3"
log = "0.4"
utf8-chars = "3.0.4"
[dependencies.specctra_derive]
path = "macros/specctra_derive"
[dependencies.geo]
version = "0.28"
default-features = false
features = ["spade", "use-serde"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.clap]
optional = true
version = "4.5.18"
features = ["derive"]
[dependencies.sys-locale]
optional = true
version = "0.3.1"
[dependencies.unic-langid]
optional = true
version = "0.9.5"
features = ["macros", "serde"]
[dependencies.fluent-templates]
optional = true
version = "0.11"
[dependencies.eframe]
optional = true
version = "0.29"
default-features = false
features = ["accesskit", "default_fonts", "glow", "persistence"]
[dependencies.egui]
optional = true
version = "0.29"
[dependencies.rfd]
optional = true
version = "0.15"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.futures-lite]
optional = true
version = "2.3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.env_logger]
optional = true
version = "0.11"
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen-futures = "0.4"
[profile.release]
opt-level = 2 # fast and small wasm
# Optimize all dependencies even in debug builds:
[profile.dev.package."*"]
opt-level = 2
[build-dependencies]
clap_mangen = "0.2.23"
clap = {version="4.5.18", features = ["derive"] }
[package.metadata.docs.rs]
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]