mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
196 lines
7.2 KiB
TOML
196 lines
7.2 KiB
TOML
cargo-features = ["named-profiles","profile-overrides"]
|
|
|
|
[workspace]
|
|
members = [
|
|
"common",
|
|
"common/assets",
|
|
"common/base",
|
|
"common/dynlib",
|
|
"common/ecs",
|
|
"common/net",
|
|
"common/state",
|
|
"common/systems",
|
|
"common/frontend",
|
|
"client",
|
|
"client/i18n",
|
|
"plugin/api",
|
|
"plugin/derive",
|
|
"plugin/rt",
|
|
"rtsim",
|
|
"server",
|
|
"server/agent",
|
|
"server-cli",
|
|
"voxygen",
|
|
"voxygen/anim",
|
|
"voxygen/i18n-helpers",
|
|
"voxygen/egui",
|
|
"world",
|
|
"network",
|
|
"network/protocol",
|
|
]
|
|
|
|
# default profile for devs, fast to compile, okay enough to run, no debug information
|
|
[profile.dev]
|
|
opt-level = 2
|
|
overflow-checks = true
|
|
debug-assertions = true
|
|
panic = "abort"
|
|
debug = false
|
|
lto = false
|
|
incremental = true
|
|
# All packages that aren't members of this workspace
|
|
[profile.dev.package."*"]
|
|
# TODO: seems like opt-level=2 should be sufficient here....
|
|
opt-level = 3
|
|
[profile.dev.package."veloren-network-protocol"]
|
|
opt-level = 3
|
|
|
|
|
|
# this profile is used by developers if dev doesn't has enough debug information,
|
|
# the name must != debug, as debug is used by dev because....
|
|
[profile.debuginfo]
|
|
inherits= 'dev'
|
|
debug = true
|
|
|
|
# used to perform things that do a *lot* of math (i.e. worldgen) but still need reasonable compilation time. Ideally this would also
|
|
# add -C target-cpu=native, but I don't think you can set this by profile currently.
|
|
[profile.no_overflow]
|
|
inherits= 'dev'
|
|
overflow-checks = false
|
|
debug-assertions = false
|
|
|
|
[profile.no_overflow.package."veloren-world"]
|
|
opt-level = 3
|
|
[profile.no_overflow.package."veloren-voxygen-anim"]
|
|
opt-level = 3
|
|
|
|
# this profile is for profiling with using the no_overflow profile, since release can take signifcant times to build.
|
|
[profile.no_overflow_debuginfo]
|
|
inherits = 'no_overflow'
|
|
debug = 1
|
|
|
|
# this profile is used for veloren releases, compile time doesn't matter
|
|
# we need stacktraces, light debug information, as much checks as possible
|
|
# I would like to put it in a seperate `official_release` target, but that doesnt share caches with `cargo test` and `cargo bench`
|
|
[profile.release]
|
|
opt-level = 3
|
|
overflow-checks = false
|
|
debug-assertions = false
|
|
lto = true
|
|
debug = false
|
|
panic = "abort" # don't need unwinding so we can skip including the landing pads for that
|
|
# line tables so we can have useful backtraces for in-house crates
|
|
[profile.release.package."veloren-network"]
|
|
debug = 1
|
|
[profile.release.package."veloren-network-protocol"]
|
|
debug = 1
|
|
[profile.release.package."veloren-common"]
|
|
debug = 1
|
|
[profile.release.package."veloren-common-systems"]
|
|
debug = 1
|
|
[profile.release.package."veloren-client"]
|
|
debug = 1
|
|
[profile.release.package."veloren-server"]
|
|
debug = 1
|
|
[profile.release.package."veloren-server-cli"]
|
|
debug = 1
|
|
[profile.release.package."veloren-voxygen"]
|
|
debug = 1
|
|
[profile.release.package."veloren-world"]
|
|
debug = 1
|
|
|
|
# used for cargo bench
|
|
[profile.bench]
|
|
opt-level = 2
|
|
incremental = true
|
|
|
|
# this profile is used by developers for release profiling
|
|
[profile.releasedebuginfo]
|
|
inherits = 'release'
|
|
debug = 1
|
|
|
|
[workspace.metadata.nix]
|
|
systems = ["x86_64-linux"]
|
|
|
|
[workspace.metadata.nix.cachix]
|
|
name = "veloren-nix"
|
|
key = "veloren-nix.cachix.org-1:zokfKJqVsNV6kI/oJdLF6TYBdNPYGSb+diMVQPn/5Rc="
|
|
|
|
[workspace.dependencies]
|
|
lazy_static = "1.4.0"
|
|
rand = { version = "0.8" }
|
|
rand_chacha = { version = "0.3" }
|
|
bincode = { version = "1.3.3" }
|
|
bitflags = { version = "2.2.1" }
|
|
slab = { version = "0.4.2" }
|
|
chrono = { version = "0.4.24", default-features=false, features = ["clock", "std", "wasmbind", "serde"] }
|
|
chrono-tz = { version = "0.8", features = ["serde"] }
|
|
inline_tweak = { version = "1.0.8" }
|
|
|
|
tokio = { version = "1.28", default-features = false, features = ["rt"] }
|
|
tracing = { version = "0.1" }
|
|
futures-util = { version = "0.3.7", default-features = false }
|
|
prometheus = { version = "0.13", default-features = false}
|
|
prometheus-hyper = "0.1.4"
|
|
|
|
strum = { version = "0.24", features = ["derive"] }
|
|
enum-map = { version = "2.4" }
|
|
hashbrown = { version = "0.13", features = ["rayon", "serde", "nightly"] }
|
|
fxhash = { version = "0.2.1" }
|
|
crossbeam-utils = { version = "0.8.1"}
|
|
crossbeam-channel = { version = "0.5"}
|
|
ordered-float = { version = "3", default-features = true }
|
|
num = { version = "0.4" }
|
|
num-traits = { version = "0.2" }
|
|
vek = { version = "0.15.8", features = ["serde"] }
|
|
itertools = { version = "0.10" }
|
|
|
|
serde = { version = "1.0.118", features = ["derive"] }
|
|
serde_json = { version = "1.0.50" }
|
|
ron = { version = "0.8", default-features = false}
|
|
|
|
specs = { version = "0.20", features = ["nightly"] }
|
|
image = { version = "0.24", default-features = false, features = ["png"] }
|
|
rayon = { version = "1.5" }
|
|
|
|
clap = { version = "4.2", features = ["derive"]}
|
|
|
|
[patch.crates-io]
|
|
vek = { git = "https://github.com/yoanlcq/vek.git", rev = "84d5cb65841d46599a986c5477341bea4456be26" }
|
|
# patch winit to support older raw-window-handle that works with old wgpu
|
|
winit = { git = "https://github.com/Imberflur/winit.git", tag = "raw-window-handle-0.4-retro-support-v1" }
|
|
# patch wgpu so we can use wgpu-profiler crate
|
|
# wgpu = { git = "https://github.com/gfx-rs/wgpu.git", rev = "a92b8549a8e2cb9dac781bafc5ed32828f3caf46" }
|
|
wgpu = { git = "https://github.com/pythonesque/wgpu.git", rev = "179ea209374a92837cde252f1d9ee01f628cae08" }
|
|
# ntapi 3.7 fails to compile under windows due to the bug https://github.com/MSxDOS/ntapi/pull/12
|
|
ntapi = { git = "https://github.com/MSxDOS/ntapi.git", rev = "9f56b149c9e25796739157c0fce3e0007a7de6eb" }
|
|
|
|
# # use the latest fixes in naga (remove when updates trickle down to wgpu-rs)
|
|
# naga = { git = "https://github.com/gfx-rs/naga.git", rev = "3a0f0144112ff621dd7f731bf455adf6cab19164" }
|
|
# # use the latest fixes in gfx (remove when updates trickle down to wgpu-rs)
|
|
# gfx-hal = { git = "https://github.com/gfx-rs/gfx.git", rev = "e305dcca3557923a6a8810162d8dd09cb45a43a6" }
|
|
# gfx-backend-empty = { git = "https://github.com/gfx-rs/gfx.git", rev = "e305dcca3557923a6a8810162d8dd09cb45a43a6" }
|
|
# gfx-backend-vulkan = { git = "https://github.com/gfx-rs/gfx.git", rev = "e305dcca3557923a6a8810162d8dd09cb45a43a6" }
|
|
# gfx-backend-gl = { git = "https://github.com/gfx-rs/gfx.git", rev = "e305dcca3557923a6a8810162d8dd09cb45a43a6" }
|
|
# gfx-backend-dx12 = { git = "https://github.com/gfx-rs/gfx.git", rev = "e305dcca3557923a6a8810162d8dd09cb45a43a6" }
|
|
# gfx-backend-dx11 = { git = "https://github.com/gfx-rs/gfx.git", rev = "e305dcca3557923a6a8810162d8dd09cb45a43a6" }
|
|
# gfx-backend-metal = { git = "https://github.com/gfx-rs/gfx.git", rev = "e305dcca3557923a6a8810162d8dd09cb45a43a6" }
|
|
|
|
# # Uncomment this to use a local fork of winit (for testing purposes)
|
|
# winit = { path = "../winit" }
|
|
|
|
# # Uncomment this to use a local fork of wgpu (for testing purposes)
|
|
# [patch.'https://github.com/gfx-rs/wgpu']
|
|
# wgpu-core = { path = "../wgpu/wgpu-core" }
|
|
# wgpu-types = { path = "../wgpu/wgpu-types" }
|
|
|
|
# # Uncomment this to use a local fork of gfx-hal (for testing purposes)
|
|
# [patch."https://github.com/gfx-rs/gfx"]
|
|
# gfx-hal = { path = "../gfx/src/hal" }
|
|
# gfx-backend-empty = { path = "../gfx/src/backend/empty" }
|
|
# gfx-backend-vulkan = { path = "../gfx/src/backend/vulkan" }
|
|
# gfx-backend-gl = { path = "../gfx/src/backend/gl" }
|
|
# gfx-backend-dx12 = { path = "../gfx/src/backend/dx12" }
|
|
# gfx-backend-dx11 = { path = "../gfx/src/backend/dx11" }
|
|
# gfx-backend-metal = { path = "../gfx/src/backend/metal" }
|