[package] name = "wzp-desktop" version = "0.1.0" edition = "2024" description = "WarzonePhone Desktop — encrypted VoIP client" default-run = "wzp-desktop" # Library target — required for Tauri mobile (Android/iOS link the app as a cdylib) # and also used by the desktop binary below. [lib] name = "wzp_desktop_lib" crate-type = ["staticlib", "cdylib", "rlib"] [[bin]] name = "wzp-desktop" path = "src/main.rs" [build-dependencies] tauri-build = { version = "2", features = [] } # cc is always available because build.rs runs on the HOST, not the TARGET. # We gate the actual cc::Build::new() calls on `target.contains("android")` at # build-script runtime. cc = "1" [dependencies] tauri = { version = "2", features = [] } tauri-plugin-shell = "2" serde = { version = "1", features = ["derive"] } serde_json = "1" tokio = { version = "1", features = ["full"] } tracing = "0.1" tracing-subscriber = "0.3" anyhow = "1" rustls = { version = "0.23", default-features = false, features = ["ring", "std"] } # WarzonePhone crates — protocol layer is platform-independent wzp-proto = { path = "../../crates/wzp-proto" } wzp-codec = { path = "../../crates/wzp-codec" } wzp-fec = { path = "../../crates/wzp-fec" } wzp-crypto = { path = "../../crates/wzp-crypto" } wzp-transport = { path = "../../crates/wzp-transport" } # wzp-client on desktop: full audio stack (CPAL + macOS VoiceProcessingIO) [target.'cfg(not(target_os = "android"))'.dependencies] wzp-client = { path = "../../crates/wzp-client", features = ["audio", "vpio"] } # wzp-client on Android: only the codec/handshake/call modules. Audio I/O is # handled by our own oboe_audio module (C++ Oboe bridge). [target.'cfg(target_os = "android")'.dependencies] wzp-client = { path = "../../crates/wzp-client", default-features = false } # On-device logcat bridge for the tracing crate — useful for native debugging. tracing-android = "0.2" # Platform-specific [target.'cfg(target_os = "macos")'.dependencies] coreaudio-rs = "0.11" [features] default = ["custom-protocol"] custom-protocol = ["tauri/custom-protocol"]