[workspace] members = [ "benchmarks", "bindings/matrix-sdk-crypto-ffi", "bindings/matrix-sdk-crypto-js", "bindings/matrix-sdk-crypto-nodejs", "bindings/matrix-sdk-ffi", "crates/*", "testing/*", "examples/*", "labs/*", "xtask", ] # xtask, labs, testing and the bindings should only be built when invoked explicitly. default-members = ["benchmarks", "crates/*"] resolver = "2" [workspace.package] rust-version = "1.65" [workspace.dependencies] anyhow = "1.0.68" async-stream = "0.3.3" async-trait = "0.1.60" base64 = "0.20.0" byteorder = "1.4.3" ctor = "0.1.26" dashmap = "5.2.0" http = "0.2.6" ruma = { git = "https://github.com/ruma/ruma", rev = "3a722965f52f8f283623db6a5d96b94599e50a2d", features = ["client-api-c"] } ruma-common = { git = "https://github.com/ruma/ruma", rev = "3a722965f52f8f283623db6a5d96b94599e50a2d" } once_cell = "1.16.0" serde = "1.0.151" serde_html_form = "0.2.0" serde_json = "1.0.91" thiserror = "1.0.38" tracing = { version = "0.1.36", default-features = false, features = ["std"] } uniffi = { git = "https://github.com/mozilla/uniffi-rs", rev = "249a78b6f3f35661f1530e53811134e1bf012608" } uniffi_macros = { git = "https://github.com/mozilla/uniffi-rs", rev = "249a78b6f3f35661f1530e53811134e1bf012608" } uniffi_bindgen = { git = "https://github.com/mozilla/uniffi-rs", rev = "249a78b6f3f35661f1530e53811134e1bf012608" } uniffi_build = { git = "https://github.com/mozilla/uniffi-rs", rev = "249a78b6f3f35661f1530e53811134e1bf012608", features = ["builtin-bindgen"] } vodozemac = "0.3.0" zeroize = "1.3.0" # Default release profile, select with `--release` [profile.release] lto = true # Default development profile; default for most Cargo commands, otherwise # selected with `--debug` [profile.dev] # Saves a lot of disk space. If symbols are needed, use the dbg profile. debug = 0 [profile.dev.package] # Optimize quote even in debug mode. Speeds up proc-macros enough to account # for the extra time of optimizing it for a clean build of matrix-sdk-ffi. quote = { opt-level = 2 } sha2 = { opt-level = 2 } # Custom profile with full debugging info, use `--profile debug` to select [profile.dbg] inherits = "dev" debug = 2 # Custom profile for use in (debug) builds of the binding crates, use # `--profile release_dbg` to select [profile.reldbg] inherits = "dev" incremental = false # Compile all non-workspace crate in the dependency tree with optimizations [profile.reldbg.package."*"] opt-level = 3