[package]
name = "atlbase"
version = "0.1.0"
edition = "2024"

description = "ATL UIBase is a modular GTK4 + Libadwaita 1.6 user interface library that simplifies the development of modern graphical applications in Rust."
readme = "README.md"

homepage = "https://github.com/AtlantisOS-Project/atlantis-UI-base"
repository = "https://github.com/AtlantisOS-Project/atlantis-UI-base"

license = "GPL-3.0"

include = [
    "src/**",
    "LICENSE*",
    "README.md"
]

[dependencies]
gtk4 = { version = "0.11", features = ["v4_20"]}
shlex = "1.3"
walkdir = "2.5"
log = "0.4"
syslog = "7.0"
libc = "0.2"
vte4 = "0.10"
gettext-rs = { version = "0.7", features = ["gettext-system"] }
lazy_static = "1.5"
open = "5.3"
gio = "0.22"
adw = { version = "0.9.1", package = "libadwaita", features = ["v1_8"] }
glib = "0.22"
serde = { version = "1.0", features = ["derive"] }
confy = "0.6"
directories = "6.0"

[profile.release]
opt-level = "z"     # Optimized for the smallest possible file size
lto = true          # Link Time Optimization (removes unused code across crates)
codegen-units = 1   # Prevents parallel compilation, but enables better optimization
panic = "abort"     # Removes the code for stack unwinding (saves a lot of space)
strip = true

