[workspace] resolver = "2" members = [ "crates/ecolor", "crates/egui_demo_app", "crates/egui_demo_lib", "crates/egui_extras", "crates/egui_glow", "crates/egui_plot", "crates/egui-wgpu", "crates/egui-winit", "crates/egui", "crates/emath", "crates/epaint", "examples/*", "xtask", ] [workspace.package] edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.72" version = "0.27.2" [profile.release] # lto = true # VERY slightly smaller wasm # opt-level = 's' # 10-20% smaller wasm compared to `opt-level = 3` # opt-level = 1 # very slow and big wasm. Don't do this. opt-level = 2 # fast and small wasm, basically same as `opt-level = 's'` # opt-level = 3 # unnecessarily large wasm for no performance gain # debug = true # include debug symbols, useful when profiling wasm panic = "abort" # This leads to better optimizations and smaller binaries (and is the default in Wasm anyways). [profile.dev] # Can't leave this on by default, because it breaks the Windows build. Related: https://github.com/rust-lang/cargo/issues/4897 # split-debuginfo = "unpacked" # faster debug builds on mac # opt-level = 1 # Make debug builds run faster panic = "abort" # This leads to better optimizations and smaller binaries (and is the default in Wasm anyways). [profile.dev.package."*"] # Optimize all dependencies even in debug builds (does not affect workspace packages): opt-level = 2 [workspace.dependencies] emath = { version = "0.27.2", path = "crates/emath", default-features = false } ecolor = { version = "0.27.2", path = "crates/ecolor", default-features = false } epaint = { version = "0.27.2", path = "crates/epaint", default-features = false } egui = { version = "0.27.2", path = "crates/egui", default-features = false } egui_plot = { version = "0.27.2", path = "crates/egui_plot", default-features = false } egui-winit = { version = "0.27.2", path = "crates/egui-winit", default-features = false } egui_extras = { version = "0.27.2", path = "crates/egui_extras", default-features = false } egui-wgpu = { version = "0.27.2", path = "crates/egui-wgpu", default-features = false } egui_demo_lib = { version = "0.27.2", path = "crates/egui_demo_lib", default-features = false } egui_glow = { version = "0.27.2", path = "crates/egui_glow", default-features = false } eframe = { version = "0.27.2", path = "crates/eframe", default-features = false } #TODO(emilk): make more things workspace dependencies ahash = { version = "0.8.6", default-features = false, features = [ "no-rng", # we don't need DOS-protection, so we let users opt-in to it instead "std", ] } backtrace = "0.3" criterion = { version = "0.5.1", default-features = false } document-features = " 0.2.8" glow = "0.13" log = { version = "0.4", features = ["std"] } nohash-hasher = "0.2" parking_lot = "0.12" puffin = "0.19" puffin_http = "0.16" raw-window-handle = "0.6.0" thiserror = "1.0.37" web-time = "0.2" # Timekeeping for native and web wgpu = { version = "0.19.1", default-features = false, features = [ # Make the renderer `Sync` even on wasm32, because it makes the code simpler: "fragile-send-sync-non-atomic-wasm", ] } winit = { version = "0.29.4", default-features = false }