56 lines
1.5 KiB
TOML
56 lines
1.5 KiB
TOML
[package]
|
|
name = "rs-pictures"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[[bin]]
|
|
name = "rs-pictures"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
# Wayland-native screen capture
|
|
libwayshot = "0.7"
|
|
|
|
# GUI framework (Wayland only)
|
|
eframe = { version = "0.29", default-features = false, features = ["wayland", "wgpu"] }
|
|
egui = "0.29"
|
|
|
|
# Image handling
|
|
image = { version = "0.25", features = ["png", "jpeg"] }
|
|
|
|
# 2D rendering for effects (rounded corners, drop shadow)
|
|
tiny-skia = "0.11"
|
|
|
|
# Clipboard (Wayland)
|
|
arboard = { version = "3.6", features = ["wayland-data-control"] }
|
|
|
|
# Config serialization
|
|
serde = { version = "1", features = ["derive"] }
|
|
toml = "0.8"
|
|
|
|
# Platform config/data directories
|
|
directories = "5"
|
|
|
|
# Error handling
|
|
anyhow = "1"
|
|
|
|
# Timestamp-based filenames
|
|
chrono = { version = "0.4", features = ["clock"] }
|
|
|
|
# ── Build profiles ────────────────────────────────────────────────────────────
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "thin" # link-time optimisation across crates
|
|
codegen-units = 1 # better inlining at the cost of compile time
|
|
strip = true # strip debug symbols → smaller binary
|
|
|
|
# Dev builds are slow for pixel-processing code. This gives opt-level 2
|
|
# to our own crate only while keeping dependencies at their default (opt=3
|
|
# they already compiled with), so incremental rebuilds stay fast.
|
|
[profile.dev]
|
|
opt-level = 0
|
|
|
|
[profile.dev.package."*"]
|
|
opt-level = 3 # all deps at full optimisation even in dev mode
|