-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
124 lines (100 loc) · 3.93 KB
/
Cargo.toml
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
121
122
123
### https://doc.rust-lang.org/cargo/reference/manifest.html
# rustup override set nightly
[package]
name = "inrust"
edition.workspace = true
version.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Accumulate knowledge of my study on Rust language"
categories = [ "command-line-utilities", "games", "mathematics" ]
keywords = [ "24-game", "24-solver", "24-puzzle", "24-challenge" ]
exclude = [ "README-DSP.md", "tmp" ] # "tests", "benches", "fuzz"
#publish = [ "crates-io" ] # cargo publish --registry crates-io
#build = "build.rs" # default, build = false
[workspace.package]
edition = "2021" # use 'cargo fix' to fix for compatibility with different Rust edition.
version = "0.3.8"
#readme = "README.md"
license = "MIT OR Apache-2.0"
authors = [ "MeiHui FAN <mhfan@ustc.edu>" ]
homepage = "https://mhfan.github.io/inrust"
repository = "https://github.com/mhfan/inrust"
description = "Algorithms and WebUI for 24-Game/Puzzle/Challenge"
[dependencies] # 'cargo tree', to visualize the dependency graph
rand = "0.8"
#num = "0.4" # rational/complex/bigint/integer/traits etc.
num-traits = "0.2"
#itertools = "0.10"
yansi = { version = "1.0", features = [ "detect-tty", "detect-env" ], optional = true }
#atty = "0.2"
pest = "2.7"
pest_derive = "2.7"
#async-recursion = "1.0"
#async-std = "1.12"
#futures = "0.3"
#rayon = "1.8" # data parallelism library, https://github.com/rayon-rs/rayon
#syn = "1.0"
#quote = "1.0"
#chrono = "0.4"
#proc_macro2 = "1.0"
cxx = { version = "1.0", optional = true }
dhat = { version = "0.3", optional = true }
pprof = { version = "0.14", features = [ "flamegraph", "criterion" ], optional = true }
gxhash = { version = "3.4", optional = true }
ahash = { version = "0.8", optional = true } # https://github.com/tkaitchuck/aHash
num-bigint = { version = "0.4", optional = true }
num-rational = { version = "0.4", optional = true }
serde = { version = "1", features = [ "derive" ], optional = true }
#arbitrary = { version = "1", features = ["derive"], optional = true }
#build-time = { version = "0.1", git = "https://github.com/AlephAlpha/build-time" }
[dev-dependencies] # used for compiling tests, examples, and benchmarks
criterion = "0.5" # not allowed to be optional
#bencher = "0.1"
rexpect = "0.6"
regex = "1.11"
#csv = "1.1"
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage_nightly)'] }
[build-dependencies] # used for compiling build script
cc = { version = "1.2", features = [ "parallel" ], optional = true }
cxx-build = { version = "1.0", optional = true }
#pkg-config = "0.3"
chrono = "0.4"
[features]
debug = []
cli = [ "yansi" ]
cxx = [ "dep:cxx", "cxx-build" ] # implied by optional dependency
default = [ "cc", "cli", "ahash" ] # "gxhash", "cxx", "serde", "num-rational", "num-bigint",
dhat-heap = [ "dhat" ]
[[bench]]
name = "calc24_bench"
#path = "benches/calc24_bench.rs"
#cargo_bench_support = true
#html_reports = false
harness = false
#[lib]
#crate-type = [ "dylib", "lib" ] # "cdylib", "lib", "dylib", "rlib"
#proc-macro = true
[profile.dev]
#incremental = false
opt-level = 1 # Enable a small amount of optimization in debug mode
[profile.dev.package."*"]
opt-level = 3 # Enable high optimizations for dependencies, but not for own code.
[profile.release]
codegen-units = 1 # Perform optimizations on all codegen units.
strip = 'debuginfo' # keep 'symbols'
panic = 'abort' # Do not perform backtrace for panic on release builds.
#debug = 'full' # for flamegraph
#opt-level = 3 # default level
lto = 'fat' # true
#cargo build -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort
#[profile.release-lto] # customized profile
#inherits = "release"
[workspace]
members = [] #"inperse", "indiox", #"fuzz",
#"inyew", "inyew/src-tauri", #"inslint", "inegui",
#exclude = [ "indsp", "inbevy", "inwasm", "cortex-m" ]
#resolver = "2" # default for 2021 edition?