summaryrefslogtreecommitdiffstats
path: root/Cargo.toml
blob: c104daa2c319282b24a34ca15122687c9b2feb64 (plain)
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
[package]
name = "bottom"
version = "0.6.3"
authors = ["Clement Tsang <cjhtsang@uwaterloo.ca>"]
edition = "2018"
repository = "https://github.com/ClementTsang/bottom"
keywords = ["cross-platform", "monitoring", "cli", "top", "tui"]
license = "MIT"
categories = ["command-line-utilities", "visualization"]
description = "A cross-platform graphical process/system monitor with a customizable interface and a multitude of features. Supports Linux, macOS, and Windows."
readme = "README.md"
default-run = "btm"
build = "build.rs"

[[bin]]
name = "btm"
path = "src/bin/main.rs"
doc = false

[lib]
test = false
doctest = false
doc = false

[profile.release]
debug = 0
lto = true
# debug = true
# lto = false
opt-level = 3
codegen-units = 1

[features]
default = ["fern", "log"]

[dependencies]
anyhow = "1.0.40"
backtrace = "0.3.59"
battery = "0.7.8"
chrono = "0.4.19"
crossterm = "0.18.2"
ctrlc = { version = "3.1.9", features = ["termination"] }
clap = "2.33"
cfg-if = "1.0"
dirs = "3.0.2"
futures = "0.3.14"
futures-timer = "3.0.2"
fxhash = "0.2.1"
indexmap = "1.6.2"
itertools = "0.10.0"
once_cell = "1.5.2"
regex = "1.5.4"
serde = { version = "1.0.125", features = ["derive"] }
# Sysinfo is still used in Linux for the ProcessStatus
sysinfo = "0.18.2"
thiserror = "1.0.24"
toml = "0.5.8"
tui = { version = "0.14.0", features = ["crossterm"], default-features = false }
typed-builder = "0.9.0"
unicode-segmentation = "1.7.1"
unicode-width = "0.1"

# For debugging only... disable on release builds with --no-default-target for no?  TODO: Redo this.
fern = { version = "0.6.0", optional = true }
log = { version = "0.4.14", optional = true }

[target.'cfg(unix)'.dependencies]
libc = "0.2.86"

[target.'cfg(target_os = "linux")'.dependencies]
heim = { version = "0.1.0-rc.1", features = ["cpu", "disk", "memory", "net", "sensors"] }
procfs = "0.9.1"

[target.'cfg(target_os = "macos")'.dependencies]
heim = { version = "0.1.0-rc.1", features = ["cpu", "disk", "memory", "net"] }

[target.'cfg(target_os = "windows")'.dependencies]
heim = { version = "0.1.0-rc.1", features = ["cpu", "disk", "memory"] }
winapi = "0.3.9"

[dev-dependencies]
assert_cmd = "1.0.3"
predicates = "1.0.8"

[build-dependencies]
clap = "2.33"

[package.metadata.deb]
section = "utility"
assets = [
    ["target/release/btm", "usr/bin/", "755"],
    ["LICENSE", "usr/share/doc/btm/", "644"],
    [
        "completion/btm.bash",
        "usr/share/bash-completion/completions/btm",
        "644",
    ],
    [
        "completion/btm.fish",
        "usr/share/fish/vendor_completions.d/btm.fish",
        "644",
    ],
    ["completion/_btm", "usr/share/zsh/vendor-completions/", "644"],
]
extended-description = """\
A cross-platform graphical process/system monitor with a customizable interface and a multitude of
features. Supports Linux, macOS, and Windows.

By default, bottom will look for a config file in ~/.config/bottom/bottom.toml.
If one is not specified it will fall back to defaults.  If a config file does not
exist at the specified or default location, a blank one will be created for the user.
"""

[package.metadata.wix]
output = "bottom_x86_64_installer.msi"

[dev-dependencies.cargo-husky]
version = "1"
default-features = false
features = ["user-hooks"]