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 "env_logger",
14 "collections/test-support",
15 "util/test-support",
16]
17runtime_shaders = []
18macos-blade = ["blade-graphics", "blade-macros", "blade-rwh", "bytemuck"]
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 }
28blade-graphics = { workspace = true, optional = true }
29blade-macros = { workspace = true, optional = true }
30blade-rwh = { workspace = true, optional = true }
31bytemuck = { version = "1", optional = true }
32collections.workspace = true
33ctor.workspace = true
34derive_more.workspace = true
35env_logger = { version = "0.9", optional = true }
36etagere = "0.2"
37futures.workspace = true
38font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "5a5c4d4" }
39gpui_macros.workspace = true
40image = "0.23"
41itertools.workspace = true
42lazy_static.workspace = true
43linkme = "0.3"
44log.workspace = true
45num_cpus = "1.13"
46parking = "2.0.0"
47parking_lot.workspace = true
48pathfinder_geometry = "0.5"
49postage.workspace = true
50profiling.workspace = true
51rand.workspace = true
52raw-window-handle = "0.6"
53refineable.workspace = true
54resvg = "0.14"
55schemars.workspace = true
56seahash = "4.1"
57serde.workspace = true
58serde_derive.workspace = true
59serde_json.workspace = true
60slotmap = "1.0.6"
61smallvec.workspace = true
62smol.workspace = true
63sum_tree.workspace = true
64taffy = { git = "https://github.com/DioxusLabs/taffy", rev = "1876f72bee5e376023eaa518aa7b8a34c769bd1b" }
65thiserror.workspace = true
66time.workspace = true
67tiny-skia = "0.5"
68usvg = { version = "0.14", features = [] }
69util.workspace = true
70uuid = { version = "1.1.2", features = ["v4"] }
71waker-fn = "1.1.0"
72
73[dev-dependencies]
74backtrace = "0.3"
75collections = { workspace = true, features = ["test-support"] }
76env_logger.workspace = true
77util = { workspace = true, features = ["test-support"] }
78
79[build-dependencies]
80bindgen = "0.65.1"
81cbindgen = "0.26.0"
82
83[target.'cfg(target_os = "macos")'.dependencies]
84block = "0.1"
85cocoa = "0.25"
86core-foundation.workspace = true
87core-graphics = "0.23"
88core-text = "20.1"
89foreign-types = "0.5"
90log.workspace = true
91media.workspace = true
92metal = "0.25"
93objc = "0.2"
94
95[target.'cfg(target_os = "linux")'.dependencies]
96flume = "0.11"
97open = "5.0.1"
98ashpd = "0.7.0"
99# todo!(linux) - Technically do not use `randr`, but it doesn't compile otherwise
100xcb = { version = "1.3", features = ["as-raw-xcb-connection", "present", "randr", "xkb"] }
101wayland-client= { version = "0.31.2" }
102wayland-protocols = { version = "0.31.2", features = ["client", "staging", "unstable"] }
103wayland-backend = { version = "0.3.3", features = ["client_system"] }
104xkbcommon = { version = "0.7", features = ["wayland", "x11"] }
105as-raw-xcb-connection = "1"
106#TODO: use these on all platforms
107blade-graphics.workspace = true
108blade-macros.workspace = true
109blade-rwh.workspace = true
110bytemuck = "1"
111cosmic-text = "0.10.0"
112
113[[example]]
114name = "hello_world"
115path = "examples/hello_world.rs"
116
117[[example]]
118name = "image"
119path = "examples/image/image.rs"