[workspace]
members = [
  "teletypewriter",
  "sugarloaf",
  "corcovado",
  "copa",
  "rio-proc-macros",
  "rio-backend",
  "rio-window",
  "wa",
  "frontends/rioterm"
]
resolver = "2"

[workspace.package]
version = "0.1.14"
authors = ["Raphael Amorim <rapha850@gmail.com>"]
edition = "2021"
license = "MIT"
keywords = ["graphics", "terminal", "application"]
rust-version = "1.80.1"
repository = "https://github.com/raphamorim/rio"
homepage = "https://raphamorim.io/rio"
documentation = "https://github.com/raphamorim/rio#readme"

[workspace.dependencies]
# Note: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#multiple-locations
# Sugarloaf example uses path when used locally, but uses
# version from crates.io when published.
sugarloaf = { path = "sugarloaf", version = "0.1.14" }
corcovado = { path = "corcovado", version = "0.1.14" }
rio-config = { path = "rio-config", version = "0.1.14" }
rio-proc-macros = { path = "rio-proc-macros", version = "0.1.14" }
copa = { path = "copa", default-features = false, version = "0.1.14" }
teletypewriter = { path = "teletypewriter", version = "0.1.14" }
rio-backend = { path = "rio-backend", version = "0.1.14" }
rio-window = { path = "rio-window", version = "0.1.14", default-features = false }
wa = { path = "wa", version = "0.1.7" }

raw-window-handle = { version = "0.6.2", features = ["std"] }
parking_lot = { version = "0.12.3", features = ["nightly", "hardware-lock-elision"] }
rustc-hash = "2.0.0"
unicode-width = "0.1.13"
base64 = "0.22.1"
image_rs = { package = "image", version = "0.25.2", default-features = false, features = ["gif", "jpeg", "ico", "png", "pnm", "webp", "bmp"] }
regex = "1.10.6"
bytemuck = { version = "1.17.0", features = [ "derive" ] }
swash = "0.1.18"
serde = { version = "1.0.208", features = ["derive"] }
wgpu = "22.1.0"
libc = "0.2.158"
smol_str = "0.3.1"
futures = "0.3.30"
wasm-bindgen = "0.2.87"
wasm-bindgen-futures = "0.4.34"
wasm-bindgen-test = "0.3.42"
env_logger = "0.11.3"
console_log = "0.2.2"
bitflags = "2.6.0"
iovec = "0.1.4"
console_error_panic_hook = "0.1.7"
tracing = "0.1.40"

[profile.release]
opt-level = 3
lto = "thin"
strip = true
debug = 0
panic = 'abort'
codegen-units = 1
incremental = false

[profile.dev]
split-debuginfo = "unpacked"
lto = false
incremental = true
opt-level = 0
