topola/Cargo.toml

129 lines
2.6 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:sys-locale", "dep:unic-langid", "dep:fluent-templates", "dep:eframe", "dep:egui", "dep:rfd", "dep:futures"]
disable_contracts = ["contracts/disable_contracts"]
[dependencies]
thiserror = "1.0.56"
anyhow = "1.0.79"
rstar = "0.11.0"
petgraph = "0.6.3"
spade = "2.2.0"
serde_json = "1.0.117"
enum_dispatch = "0.3.12"
itertools = "0.8.2"
contracts = "0.6.3"
bimap = "0.6.3"
log = "0.4"
utf8-chars = "3.0.2"
[dependencies.specctra_derive]
path = "macros/specctra_derive"
[dependencies.geo]
version = "0.25.1"
features = ["use-serde"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.clap]
optional = true
version = "4.5.8"
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.9.4"
[dependencies.eframe]
optional = true
version = "0.28.1"
default-features = false
features = ["accesskit", "default_fonts", "glow", "persistence"]
[dependencies.egui]
optional = true
version = "0.28.1"
[dependencies.rfd]
optional = true
version = "0.14.0"
[dependencies.futures]
optional = true
version = "0.3.30"
[dependencies.gl]
optional = true
version = "0.14.0"
[dependencies.pathfinder_canvas]
optional = true
git = "https://github.com/servo/pathfinder"
[dependencies.pathfinder_geometry]
optional = true
git = "https://github.com/servo/pathfinder"
[dependencies.pathfinder_gl]
optional = true
git = "https://github.com/servo/pathfinder"
[dependencies.pathfinder_renderer]
optional = true
git = "https://github.com/servo/pathfinder"
[dependencies.pathfinder_resources]
optional = true
git = "https://github.com/servo/pathfinder"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
env_logger = "0.10"
[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
[patch.crates-io]
contracts = { path = "vendored/contracts" }
[build-dependencies]
clap_mangen = "0.2.23"
clap = {version="4.5.8", features = ["derive"] }