[workspace] members = [ "sugarloaf", "teletypewriter", "corcovado", "rio-graphics", "rio-fonts", "rio-vt", "rio-backend", "rio-grapheme-width", "rio-unicode", "rio-window", "rio-notifier", "frontends/rioterm", "librio", "librio-wasm", ] resolver = "2" [workspace.package] version = "0.5.20" authors = ["Raphael Amorim "] edition = "2021" license = "MIT" keywords = ["graphics", "terminal", "application"] rust-version = "1.96.1" repository = "https://github.com/raphamorim/rio" homepage = "https://rioterm.com" documentation = "https://github.com/raphamorim/rio#readme" readme = "README.md" [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. teletypewriter = { path = "teletypewriter", version = "0.5.20" } rio-backend = { path = "rio-backend", version = "0.5.20" } rio-window = { path = "rio-window", version = "0.5.20", default-features = false } rio-notifier = { path = "rio-notifier", version = "0.5.20" } rio-grapheme-width = { path = "rio-grapheme-width", version = "0.5.20" } sugarloaf = { path = "sugarloaf", version = "0.5.20" } corcovado = { path = "corcovado", version = "0.5.20" } rio-graphics = { path = "rio-graphics", version = "0.5.20" } rio-fonts = { path = "rio-fonts", version = "0.5.20" } rio-vt = { path = "rio-vt", version = "0.5.20" } raw-window-handle = { version = "0.6.2", features = ["std"] } parking_lot = { version = "0.12.5", features = [ "nightly", "hardware-lock-elision", ] } rustc-hash = "2.1.3" smallvec = { version = "1.15.2", default-features = false } # One Unicode version for the whole tree: width tables and grapheme # segmentation both come from rio-unicode (currently Unicode 17), # replacing the alacritty unicode-width fork that froze at Unicode 16. unicode-width = { package = "rio-unicode", path = "rio-unicode" } simdutf = "0.7.0" base64 = "0.23.0" image_rs = { package = "image", version = "0.25.10", default-features = false, features = [ "gif", "jpeg", "ico", "png", "pnm", "webp", "bmp", "tiff", ] } regex = "1.12.3" onig = { version = "6.5.3", default-features = false } bytemuck = { version = "1.25.2", features = ["derive"] } serde = { version = "1.0.229", features = ["derive"] } wgpu = "30.0.0" libc = "0.2.189" smol_str = "0.3.2" futures = "0.3.31" zbus = "4.4.0" wasm-bindgen = "0.2.87" wasm-bindgen-futures = "0.4.34" wasm-bindgen-test = "0.3.42" env_logger = "0.11.8" console_log = "0.2.2" bitflags = "2.9.0" console_error_panic_hook = "0.1.7" tracing = "0.1.41" objc = { package = "objc-rs", version = "0.3.2" } memmap2 = "0.9.11" url = "2.5.4" criterion = { version = "0.6.0", features = ["html_reports"] } dashmap = "6.2.1" flate2 = "1.1.9" [profile.release] strip = "symbols" # See split-debuginfo - allows us to drop the size by ~65% debug = "full" # No one needs an undebuggable release binary split-debuginfo = "packed" # generates a separate *.dwp/*.dSYM so the binary can get stripped lto = true panic = "abort" # reduces binary size by ~50% in combination with -Zbuild-std-features=panic_immediate_abort codegen-units = 1 incremental = false [profile.librio] inherits = "release" strip = "none" debug = false lto = false [profile.dev] split-debuginfo = "unpacked" lto = false opt-level = 0 incremental = true