mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-24 11:01:54 +00:00
9e113bccd0
The collateral of this is that code size is increased by ~300kB, but I think we can stomach it. Release Notes: - N/A
254 lines
6.4 KiB
TOML
254 lines
6.4 KiB
TOML
[package]
|
|
name = "gpui"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Nathan Sobo <nathan@zed.dev>"]
|
|
description = "Zed's GPU-accelerated UI framework"
|
|
publish = false
|
|
license = "Apache-2.0"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
default = ["http_client", "font-kit", "wayland", "x11"]
|
|
test-support = [
|
|
"backtrace",
|
|
"collections/test-support",
|
|
"rand",
|
|
"util/test-support",
|
|
"http_client?/test-support",
|
|
"wayland",
|
|
"x11",
|
|
]
|
|
runtime_shaders = []
|
|
macos-blade = ["blade-graphics", "blade-macros", "blade-util", "bytemuck", "objc2", "objc2-metal"]
|
|
wayland = [
|
|
"blade-graphics",
|
|
"blade-macros",
|
|
"blade-util",
|
|
"bytemuck",
|
|
"ashpd",
|
|
"cosmic-text",
|
|
"font-kit",
|
|
"calloop-wayland-source",
|
|
"wayland-backend",
|
|
"wayland-client",
|
|
"wayland-cursor",
|
|
"wayland-protocols",
|
|
"wayland-protocols-plasma",
|
|
"filedescriptor",
|
|
"xkbcommon",
|
|
"open",
|
|
]
|
|
x11 = [
|
|
"blade-graphics",
|
|
"blade-macros",
|
|
"blade-util",
|
|
"bytemuck",
|
|
"ashpd",
|
|
"cosmic-text",
|
|
"font-kit",
|
|
"as-raw-xcb-connection",
|
|
"x11rb",
|
|
"xkbcommon",
|
|
"xim",
|
|
"x11-clipboard",
|
|
"filedescriptor",
|
|
"open",
|
|
]
|
|
|
|
|
|
[lib]
|
|
path = "src/gpui.rs"
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
async-task = "4.7"
|
|
backtrace = { version = "0.3", optional = true }
|
|
blade-graphics = { workspace = true, optional = true }
|
|
blade-macros = { workspace = true, optional = true }
|
|
blade-util = { workspace = true, optional = true }
|
|
bytemuck = { version = "1", optional = true }
|
|
collections.workspace = true
|
|
ctor.workspace = true
|
|
derive_more.workspace = true
|
|
etagere = "0.2"
|
|
futures.workspace = true
|
|
gpui_macros.workspace = true
|
|
http_client = { optional = true, workspace = true }
|
|
image = "0.25.1"
|
|
itertools.workspace = true
|
|
linkme = "0.3"
|
|
log.workspace = true
|
|
num_cpus = "1.13"
|
|
parking = "2.0.0"
|
|
parking_lot.workspace = true
|
|
postage.workspace = true
|
|
profiling.workspace = true
|
|
rand = { optional = true, workspace = true }
|
|
raw-window-handle = "0.6"
|
|
refineable.workspace = true
|
|
resvg = { version = "0.44.0", default-features = false }
|
|
usvg = { version = "0.44.0", default-features = false }
|
|
schemars.workspace = true
|
|
seahash = "4.1"
|
|
semantic_version.workspace = true
|
|
serde.workspace = true
|
|
serde_derive.workspace = true
|
|
serde_json.workspace = true
|
|
slotmap = "1.0.6"
|
|
smallvec.workspace = true
|
|
smol.workspace = true
|
|
strum.workspace = true
|
|
sum_tree.workspace = true
|
|
taffy = "0.4.3"
|
|
thiserror.workspace = true
|
|
util.workspace = true
|
|
uuid.workspace = true
|
|
waker-fn = "1.2.0"
|
|
|
|
[dev-dependencies]
|
|
backtrace = "0.3"
|
|
collections = { workspace = true, features = ["test-support"] }
|
|
env_logger.workspace = true
|
|
rand.workspace = true
|
|
util = { workspace = true, features = ["test-support"] }
|
|
http_client = { workspace = true, features = ["test-support"] }
|
|
unicode-segmentation.workspace = true
|
|
|
|
[target.'cfg(target_os = "windows")'.build-dependencies]
|
|
embed-resource = "3.0"
|
|
|
|
[target.'cfg(target_os = "macos")'.build-dependencies]
|
|
bindgen = "0.70.0"
|
|
cbindgen = { version = "0.27.0", default-features = false }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
block = "0.1"
|
|
cocoa.workspace = true
|
|
core-foundation.workspace = true
|
|
core-foundation-sys = "0.8"
|
|
core-graphics = "0.23"
|
|
core-text = "20.1"
|
|
font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "40391b7", optional = true }
|
|
foreign-types = "0.5"
|
|
log.workspace = true
|
|
media.workspace = true
|
|
objc = "0.2"
|
|
objc2 = { version = "0.5", optional = true }
|
|
objc2-metal = { version = "0.2", optional = true }
|
|
#TODO: replace with "objc2"
|
|
metal.workspace = true
|
|
|
|
[target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "macos"))'.dependencies]
|
|
pathfinder_geometry = "0.5"
|
|
|
|
[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies]
|
|
# Always used
|
|
flume = "0.11"
|
|
oo7 = { git = "https://github.com/zed-industries/oo7", branch = "avoid-crypto-panic" }
|
|
|
|
# Used in both windowing options
|
|
ashpd = { workspace = true, optional = true }
|
|
blade-graphics = { workspace = true, optional = true }
|
|
blade-macros = { workspace = true, optional = true }
|
|
blade-util = { workspace = true, optional = true }
|
|
bytemuck = { version = "1", optional = true }
|
|
cosmic-text = { git = "https://github.com/pop-os/cosmic-text", rev = "542b20c", optional = true }
|
|
font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "40391b7", features = [
|
|
"source-fontconfig-dlopen",
|
|
], optional = true }
|
|
calloop = { version = "0.13.0" }
|
|
filedescriptor = { version = "0.8.2", optional = true }
|
|
open = { version = "5.2.0", optional = true }
|
|
|
|
# Wayland
|
|
calloop-wayland-source = { version = "0.3.0", optional = true }
|
|
wayland-backend = { version = "0.3.3", features = [
|
|
"client_system",
|
|
"dlopen",
|
|
], optional = true }
|
|
wayland-client = { version = "0.31.2", optional = true }
|
|
wayland-cursor = { version = "0.31.1", optional = true }
|
|
wayland-protocols = { version = "0.31.2", features = [
|
|
"client",
|
|
"staging",
|
|
"unstable",
|
|
], optional = true }
|
|
wayland-protocols-plasma = { version = "0.2.0", features = [
|
|
"client",
|
|
], optional = true }
|
|
|
|
|
|
# X11
|
|
as-raw-xcb-connection = { version = "1", optional = true }
|
|
x11rb = { version = "0.13.1", features = [
|
|
"allow-unsafe-code",
|
|
"xkb",
|
|
"randr",
|
|
"xinput",
|
|
"cursor",
|
|
"resource_manager",
|
|
"sync",
|
|
], optional = true }
|
|
xkbcommon = { git = "https://github.com/ConradIrwin/xkbcommon-rs", rev = "fcbb4612185cc129ceeff51d22f7fb51810a03b2", features = [
|
|
"wayland",
|
|
"x11",
|
|
], optional = true }
|
|
xim = { git = "https://github.com/XDeme1/xim-rs", rev = "d50d461764c2213655cd9cf65a0ea94c70d3c4fd", features = [
|
|
"x11rb-xcb",
|
|
"x11rb-client",
|
|
], optional = true }
|
|
x11-clipboard = { version = "0.9.3", optional = true }
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
blade-util.workspace = true
|
|
bytemuck = "1"
|
|
blade-graphics.workspace = true
|
|
blade-macros.workspace = true
|
|
flume = "0.11"
|
|
rand.workspace = true
|
|
windows.workspace = true
|
|
windows-core = "0.58"
|
|
|
|
[[example]]
|
|
name = "hello_world"
|
|
path = "examples/hello_world.rs"
|
|
|
|
[[example]]
|
|
name = "image"
|
|
path = "examples/image/image.rs"
|
|
|
|
[[example]]
|
|
name = "set_menus"
|
|
path = "examples/set_menus.rs"
|
|
|
|
[[example]]
|
|
name = "window_shadow"
|
|
path = "examples/window_shadow.rs"
|
|
|
|
[[example]]
|
|
name = "input"
|
|
path = "examples/input.rs"
|
|
|
|
[[example]]
|
|
name = "shadow"
|
|
path = "examples/shadow.rs"
|
|
|
|
[[example]]
|
|
name = "svg"
|
|
path = "examples/svg/svg.rs"
|
|
|
|
[[example]]
|
|
name = "text_wrapper"
|
|
path = "examples/text_wrapper.rs"
|
|
|
|
[[example]]
|
|
name = "opacity"
|
|
path = "examples/opacity.rs"
|
|
|
|
[[example]]
|
|
name = "uniform_list"
|
|
path = "examples/uniform_list.rs"
|