[package] name = "rustdesk" version = "1.1.9" authors = ["rustdesk "] edition = "2021" build= "build.rs" description = "A remote control software." default-run = "rustdesk" [lib] name = "librustdesk" crate-type = ["cdylib", "staticlib", "rlib"] [[bin]] name = "naming" path = "src/naming.rs" [features] inline = [] hbbs = [] cli = [] use_samplerate = ["samplerate"] use_rubato = ["rubato"] use_dasp = ["dasp"] default = ["use_dasp"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] whoami = "1.2" scrap = { path = "libs/scrap" } hbb_common = { path = "libs/hbb_common" } serde_derive = "1.0" serde = "1.0" serde_json = "1.0" cfg-if = "1.0" lazy_static = "1.4" sha2 = "0.10" repng = "0.2" libc = "0.2" parity-tokio-ipc = { git = "https://github.com/open-trade/parity-tokio-ipc" } flexi_logger = { version = "0.22", features = ["async", "use_chrono_for_offset"] } runas = "0.2" magnum-opus = { git = "https://github.com/open-trade/magnum-opus" } dasp = { version = "0.11", features = ["signal", "interpolate-linear", "interpolate"], optional = true } rubato = { version = "0.12", optional = true } samplerate = { version = "0.2", optional = true } async-trait = "0.1" uuid = { version = "1.0", features = ["v4"] } clap = "3.0" rpassword = "6.0" base64 = "0.13" sysinfo = "0.23" num_cpus = "1.13" [target.'cfg(not(target_os = "linux"))'.dependencies] reqwest = { version = "0.11", features = ["json"] } [target.'cfg(not(any(target_os = "android", target_os = "linux")))'.dependencies] cpal = "0.13.5" [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] machine-uid = "0.2" mac_address = "1.1" sciter-rs = { git = "https://github.com/open-trade/rust-sciter", branch = "dyn" } sys-locale = "0.2" enigo = { path = "libs/enigo" } clipboard = { path = "libs/clipboard" } rdev = { git = "https://github.com/open-trade/rdev" } ctrlc = "3.2" arboard = "2.0" #minreq = { version = "2.4", features = ["punycode", "https-native"] } [target.'cfg(target_os = "windows")'.dependencies] #systray = { git = "https://github.com/open-trade/systray-rs" } trayicon = { version = "0.1", features = ["winit"] } # > 0.25 not work with trayicon winit = "0.25" winapi = { version = "0.3", features = ["winuser"] } winreg = "0.10" windows-service = "0.4" [target.'cfg(target_os = "macos")'.dependencies] objc = "0.2" cocoa = "0.24" dispatch = "0.2" core-foundation = "0.9" core-graphics = "0.22" include_dir = "0.7.2" tray-item = "0.7" # looks better than trayicon [target.'cfg(target_os = "linux")'.dependencies] psimple = { package = "libpulse-simple-binding", version = "2.25" } pulse = { package = "libpulse-binding", version = "2.26" } rust-pulsectl = { git = "https://github.com/open-trade/pulsectl" } async-process = "1.3" [target.'cfg(target_os = "android")'.dependencies] android_logger = "0.11" jni = "0.19.0" [workspace] members = ["libs/scrap", "libs/hbb_common", "libs/enigo", "libs/clipboard", "libs/virtual_display"] [package.metadata.winres] LegalCopyright = "Copyright © 2022 Purslane, Inc." # this FileDescription overrides package.description FileDescription = "RustDesk" [target.'cfg(target_os="windows")'.build-dependencies] winres = "0.1" winapi = { version = "0.3", features = [ "winnt" ] } [build-dependencies] cc = "1.0" hbb_common = { path = "libs/hbb_common" } [dev-dependencies] hound = "3.4" [package.metadata.bundle] name = "RustDesk" identifier = "com.carriez.rustdesk" icon = ["32x32.png", "128x128.png", "128x128@2x.png"] deb_depends = ["libgtk-3-0", "libxcb-randr0", "libxdo3", "libxfixes3", "libxcb-shape0", "libxcb-xfixes0", "libasound2", "libsystemd0", "pulseaudio", "python3-pip", "curl"] osx_minimum_system_version = "10.14" resources = ["mac-tray.png"] #https://github.com/johnthagen/min-sized-rust #!!! rembember call "strip target/release/rustdesk" # which reduce binary size a lot [profile.release] lto = true codegen-units = 1 panic = 'abort' #opt-level = 'z' # only have smaller size after strip