Implement optional Skia codec adapter (#41)
Some checks failed
JPEG 2000 feature / linux (push) Has been cancelled
JPEG 2000 feature / macos (push) Has been cancelled
JPEG 2000 feature / windows (push) Has been cancelled
Skia feature / linux (push) Has been cancelled
Skia feature / macos (push) Has been cancelled
Skia feature / windows (push) Has been cancelled

This commit is contained in:
2026-08-09 04:13:49 +00:00
parent 16501f2331
commit 4849bbda7b
13 changed files with 1295 additions and 39 deletions

View File

@@ -5,11 +5,27 @@ edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "Skia codec shims for the MetaCrate LibreMetaverse rewrite"
description = "Optional Skia image decoder for the MetaCrate LibreMetaverse rewrite"
[features]
default = []
skia = ["dep:skia-safe"]
[dependencies]
libremetaverse-imaging = { path = "../libremetaverse-imaging" }
libremetaverse-types = { path = "../libremetaverse-types" }
libremetaverse-imaging = { version = "0.0.1", path = "../libremetaverse-imaging" }
libremetaverse-types = { version = "0.0.1", path = "../libremetaverse-types" }
# rust-skia publishes WebP-capable binary caches with Vulkan on Linux/Windows
# and without Vulkan on macOS. Matching those sets avoids an hours-long Skia
# source build on every supported desktop target.
[target.'cfg(any(target_os = "linux", target_os = "windows"))'.dependencies]
skia-safe = { version = "0.99.0", default-features = false, features = ["binary-cache", "jpeg", "pdf", "svg", "textlayout", "vulkan", "webp"], optional = true }
[target.'cfg(target_os = "macos")'.dependencies]
skia-safe = { version = "0.99.0", default-features = false, features = ["binary-cache", "jpeg", "pdf", "svg", "textlayout", "webp"], optional = true }
[target.'cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows")))'.dependencies]
skia-safe = { version = "0.99.0", default-features = false, features = ["binary-cache", "jpeg", "pdf", "webp"], optional = true }
[lints]
workspace = true