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"
29collections.workspace = true
30ctor.workspace = true
31derive_more.workspace = true
32dhat = { version = "0.3", optional = true }
33env_logger = { version = "0.9", optional = true }
34etagere = "0.2"
35futures.workspace = true
36font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "d97147f" }
37gpui_macros.workspace = true
38image = "0.23"
39itertools = "0.10"
40lazy_static.workspace = true
41linkme = "0.3"
42log.workspace = true
43num_cpus = "1.13"
44ordered-float.workspace = true
45parking = "2.0.0"
46parking_lot.workspace = true
47pathfinder_geometry = "0.5"
48postage.workspace = true
49rand.workspace = true
50raw-window-handle = "0.6"
51blade-rwh = { package = "raw-window-handle", version = "0.5" }
52refineable.workspace = true
53resvg = "0.14"
54schemars.workspace = true
55seahash = "4.1"
56serde.workspace = true
57serde_derive.workspace = true
58serde_json.workspace = true
59slotmap = "1.0.6"
60smallvec.workspace = true
61smol.workspace = true
62sum_tree.workspace = true
63taffy = { git = "https://github.com/DioxusLabs/taffy", rev = "1876f72bee5e376023eaa518aa7b8a34c769bd1b" }
64thiserror.workspace = true
65time.workspace = true
66tiny-skia = "0.5"
67usvg = { version = "0.14", features = [] }
68util.workspace = true
69uuid = { version = "1.1.2", features = ["v4"] }
70waker-fn = "1.1.0"
71
72[dev-dependencies]
73backtrace = "0.3"
74collections = { workspace = true, features = ["test-support"] }
75dhat = "0.3"
76env_logger.workspace = true
77png = "0.16"
78simplelog = "0.9"
79util = { workspace = true, features = ["test-support"] }
80
81[build-dependencies]
82bindgen = "0.65.1"
83cbindgen = "0.26.0"
84
85[target.'cfg(target_os = "macos")'.dependencies]
86block = "0.1"
87cocoa = "0.25"
88core-foundation = { version = "0.9.3", features = ["with-uuid"] }
89core-graphics = "0.22.3"
90core-text = "19.2"
91foreign-types = "0.3"
92log.workspace = true
93media.workspace = true
94metal = "0.21.0"
95objc = "0.2"
96
97[target.'cfg(target_os = "linux")'.dependencies]
98flume = "0.11"
99xcb = { version = "1.3", features = ["as-raw-xcb-connection"] }
100as-raw-xcb-connection = "1"
101#TODO: use these on all platforms
102blade-graphics = { git = "https://github.com/kvark/blade", rev = "c4f951a88b345724cb952e920ad30e39851f7760" }
103blade-macros = { git = "https://github.com/kvark/blade", rev = "c4f951a88b345724cb952e920ad30e39851f7760" }
104bytemuck = "1"
105cosmic-text = "0.10.0"