Krolyxon
Commit 62ea4cb

Branches

Refs →

budctlCargo.toml

35 lines · 1.1 KB · TOML

1[workspace]
2resolver = "3"
3members = ["crates/budctl-core", "crates/budctl-cli", "crates/budctl-gui", "crates/budctl-android"]
4
5[workspace.package]
6version = "0.1.3"
7edition = "2024"
8rust-version = "1.88"
9license = "GPL-3.0-or-later"
10publish = false
11
12[workspace.lints.rust]
13# The exceptions: crates/budctl-core/src/transport/socket.rs (Bluetooth socket syscalls) and the
14# JNI exports' #[unsafe(no_mangle)] in crates/budctl-android/src/lib.rs.
15unsafe_code = "deny"
16
17[workspace.lints.clippy]
18# Bluetooth fails in many ways; every failure must become a typed error, never a panic.
19unwrap_used = "deny"
20expect_used = "deny"
21panic = "deny"
22indexing_slicing = "deny"
23cast_possible_truncation = "deny"
24undocumented_unsafe_blocks = "deny"
25
26# Debug builds (`cargo run`, the tests): the dependencies optimized, our crates not. Unoptimized,
27# the GUI's CPU renderer draws a frame about 20 times slower, and the window lags.
28[profile.dev.package."*"]
29opt-level = 3
30
31# Release builds: the binaries the install script ships. No debug symbols, and whole-crate
32# optimization across the dependency tree, for smaller and faster binaries.
33[profile.release]
34strip = true
35lto = "thin"