[package]
name = "flashkraft"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "FlashKraft — OS image writer desktop application (Iced GUI)"
readme = "README.md"
categories = ["gui", "command-line-utilities", "filesystem"]
keywords = ["imager", "disk", "usb", "iso", "flash"]

[lib]
name = "flashkraft_gui"
path = "src/lib.rs"

[[bin]]
name = "flashkraft"
path = "src/main.rs"

[dependencies]
# ── Shared core ───────────────────────────────────────────────────────────────
flashkraft-core = { workspace = true }
nix             = { workspace = true }

# ── GUI framework ─────────────────────────────────────────────────────────────
iced       = { workspace = true }
iced_aw    = { workspace = true }
iced_fonts = { workspace = true }
rfd        = { workspace = true }

# ── Async utilities ───────────────────────────────────────────────────────────
futures       = { workspace = true }
futures-timer = { workspace = true }

# ── Storage / persistence ─────────────────────────────────────────────────────
sled = { workspace = true }
dirs = { workspace = true }

# ── Build dependencies ────────────────────────────────────────────────────────
# winres embeds the UAC manifest into the Windows PE binary at compile time
# so Windows shows the Administrator elevation prompt on launch.
# It is NOT linked into the final binary — build-time only.
# The target gate means it is not even fetched on Linux / macOS.
[target.'cfg(target_os = "windows")'.build-dependencies]
winres = "0.1"
