-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
67 lines (61 loc) · 2.1 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[workspace]
resolver = "2"
members = [
"crates/config",
"crates/filehelpers",
"crates/macros",
"crates/prettylogs",
"crates/appstate",
"crates/StreamDeckReplacement",
"crates/webserver",
"crates/database",
"crates/StreamDeckReplacement",
"crates/permissions",
]
default-members = ["crates/StreamDeckReplacement"]
[workspace.dependencies]
serde = { version = "1.0.183", features = ["derive", "serde_derive"] }
serde_json = { version = "1.0.105", features = ["float_roundtrip"] }
tokio = { version = "1.40.0", features = ["full", "tracing"] }
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = [
"tracing",
"env-filter",
"std",
] }
futures = "0.3.28"
futures-util = "0.3.28"
regex = "1.10.2"
prost = "0.13.3"
tonic = "0.12.3"
rcgen = "0.13.1"
local-ip-address = "0.6.3"
warp = { version = "0.3.7", features = ["tls"] }
rusqlite = { version = "0.32.1", features = ["bundled"] }
# Local crates as dependencies
config = { path = "crates/config" }
file_helpers = { path = "crates/filehelpers" }
macros = { path = "crates/macros" }
pretty_logs = { path = "crates/prettylogs" }
app_state = { path = "crates/appstate" }
webserver = { path = "crates/webserver" }
database = { path = "crates/database" }
# Profiles for build optimization
[profile.dev]
opt-level = 0
debug = true
debug-assertions = true
overflow-checks = true
lto = false
[profile.release]
opt-level = "z" # Use "3" if "z" causes performance loss
debug = true # Include debug info for PDB files
debug-assertions = false # Disable debug assertions for runtime performance
overflow-checks = false # Disable integer overflow checks for performance
lto = "fat" # Enable full Link Time Optimization (LTO)
codegen-units = 1 # Single codegen unit for better optimizations
panic = "abort" # Use abort on panic to avoid unwinding costs
incremental = false # Disable incremental compilation for fully optimized builds
[profile.dist]
inherits = "release" # Inherit settings from release profile
debug = false # No debug information for PDB, stripped for distribution