[package]
name = "sd-desktop"
version = "0.3.1"
description = "The universal file manager."
authors = ["Spacedrive Technology Inc <support@spacedrive.com>"]
default-run = "sd-desktop"
license = { workspace = true }
repository = { workspace = true }
edition = { workspace = true }

[dependencies]
# Spacedrive Sub-crates
sd-core = { path = "../../../core", features = ["ffmpeg", "heif"] }
sd-fda = { path = "../../../crates/fda" }
sd-prisma = { path = "../../../crates/prisma" }

axum = { workspace = true, features = ["headers", "query"] }
hyper = "0.14.28"
futures = { workspace = true }
http = { workspace = true }
prisma-client-rust = { workspace = true }
rand = { workspace = true }
rspc = { workspace = true, features = ["tauri", "tracing"] }
serde = { workspace = true }
specta = { workspace = true }
tokio = { workspace = true, features = ["sync"] }
tracing = { workspace = true }
tauri-specta = { workspace = true, features = ["typescript"] }
uuid = { workspace = true, features = ["serde"] }
thiserror.workspace = true
directories = "5.0.1"

opener = { version = "0.6.1", features = ["reveal"] }
tauri = { version = "=2.0.0-beta.17", features = [
	"macos-private-api",
	"unstable",
	"linux-libxdo",
] }
tauri-plugin-updater = "2.0.0-beta"
tauri-plugin-dialog = "2.0.0-beta"
tauri-plugin-os = "2.0.0-beta"
tauri-plugin-shell = "2.0.0-beta"
serde_json.workspace = true
strum = { workspace = true, features = ["derive"] }

[target.'cfg(target_os = "linux")'.dependencies]
sd-desktop-linux = { path = "../crates/linux" }
# https://github.com/tauri-apps/tauri/blob/tauri-v2.0.0-beta.17/core/tauri/Cargo.toml#L86
webkit2gtk = { version = "=2.0.1", features = ["v2_38"] }

[target.'cfg(target_os = "macos")'.dependencies]
sd-desktop-macos = { path = "../crates/macos" }

[target.'cfg(target_os = "windows")'.dependencies]
sd-desktop-windows = { path = "../crates/windows" }
webview2-com = "0.19.1"

[build-dependencies]
tauri-build = "=2.0.0-beta.13"

[features]
default = ["custom-protocol"]
devtools = ["tauri/devtools"]
ai-models = ["sd-core/ai"]
custom-protocol = ["tauri/custom-protocol"]
