1[package]
2name = "gpui"
3version = "0.1.0"
4edition = "2021"
5authors = ["Nathan Sobo <nathan@zed.dev>"]
6description = "Zed's GPU-accelerated UI framework"
7publish = false
8license = "Apache-2.0"
9
10[features]
11test-support = [
12 "backtrace",
13 "dhat",
14 "env_logger",
15 "collections/test-support",
16 "util/test-support",
17]
18runtime_shaders = []
19
20[lib]
21path = "src/gpui.rs"
22doctest = false
23
24[dependencies]
25anyhow.workspace = true
26async-task = "4.7"
27backtrace = { version = "0.3", optional = true }
28bitflags = "2.4.0"
29blade-graphics = { git = "https://github.com/kvark/blade", rev = "62eb18d312f720a5aac8f508fe223146a24fc7f0" }
30blade-macros = { git = "https://github.com/kvark/blade", rev = "62eb18d312f720a5aac8f508fe223146a24fc7f0" }
31bytemuck = "1"
32collections = { path = "../collections" }
33ctor.workspace = true
34derive_more.workspace = true
35dhat = { version = "0.3", optional = true }
36env_logger = { version = "0.9", optional = true }
37etagere = "0.2"
38futures.workspace = true
39gpui_macros = { path = "../gpui_macros" }
40font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "d97147f" }
41image = "0.23"
42itertools = "0.10"
43lazy_static.workspace = true
44linkme = "0.3"
45log.workspace = true
46num_cpus = "1.13"
47ordered-float.workspace = true
48parking = "2.0.0"
49parking_lot.workspace = true
50pathfinder_geometry = "0.5"
51postage.workspace = true
52rand.workspace = true
53raw-window-handle = "0.6"
54blade-rwh = { package = "raw-window-handle", version = "0.5" }
55refineable.workspace = true
56resvg = "0.14"
57schemars.workspace = true
58seahash = "4.1"
59serde.workspace = true
60serde_derive.workspace = true
61serde_json.workspace = true
62slotmap = "1.0.6"
63smallvec.workspace = true
64smol.workspace = true
65sum_tree = { path = "../sum_tree" }
66taffy = { git = "https://github.com/DioxusLabs/taffy", rev = "1876f72bee5e376023eaa518aa7b8a34c769bd1b" }
67thiserror.workspace = true
68time.workspace = true
69tiny-skia = "0.5"
70usvg = { version = "0.14", features = [] }
71util = { path = "../util" }
72uuid = { version = "1.1.2", features = ["v4"] }
73waker-fn = "1.1.0"
74
75[dev-dependencies]
76backtrace = "0.3"
77collections = { path = "../collections", features = ["test-support"] }
78dhat = "0.3"
79env_logger.workspace = true
80png = "0.16"
81simplelog = "0.9"
82util = { path = "../util", features = ["test-support"] }
83
84[build-dependencies]
85bindgen = "0.65.1"
86cbindgen = "0.26.0"
87
88[target.'cfg(target_os = "macos")'.dependencies]
89block = "0.1"
90cocoa = "0.25"
91core-foundation = { version = "0.9.3", features = ["with-uuid"] }
92core-graphics = "0.22.3"
93core-text = "19.2"
94foreign-types = "0.3"
95log.workspace = true
96media = { path = "../media" }
97metal = "0.21.0"
98objc = "0.2"
99
100[target.'cfg(target_os = "linux")'.dependencies]
101flume = "0.11"
102xcb = { version = "1.3", features = ["as-raw-xcb-connection"] }
103as-raw-xcb-connection = "1"