blob: 3f3017dac417b392abc0e48847cd55a903bc282c [file]
[workspace]
resolver = "2"
members = [
"proto_bindings",
"grpc_server",
"grpc_client",
]
[workspace.package]
edition = "2021"
rust-version = "1.78.0"
readme = "README.md"
[workspace.dependencies]
# Internal crates
proto_bindings = { path = "proto_bindings" }
# External crates
prost = { version = "0.12.6" }
prost-types = { version = "0.12.6", default-features = false }
tonic = { version = "0.11.0", features = ["transport"] }
tonic-build = "0.11.0"
tokio = { version = "1.38", default-features = false, features = ["macros", "net", "rt-multi-thread", "signal"] }
# Optimize all crates
[profile.release]
opt-level = 3
strip = true # Automatically strip debug symbols from the binary
lto = true # Enable Link Time Optimization (LTO)
codegen-units = 1 # Reduce Parallel Code Generation Units to Increase Optimization
# There's a Cargo feature named profile-overrides
# that lets you override the optimization level of dependencies.
# https://docs.rust-embedded.org/book/unsorted/speed-vs-size.html
[profile.release.package."*"]
opt-level = 3
strip = 'debuginfo' # Automatically strip debug infos from the binary to reduce size
codegen-units = 1 # Reduce Parallel Code Generation Units to Increase Optimization