mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
3e0ca7d6d4
individual commits combined here: send active plugins compute plugin sha hash single position for defining Hash type request plugins from the server Server sending the plugin to the client store received plugin in file and use it handle plugin data at the right place pass config_dir to client init load local plugins operational plugin caching simplify the interface clippy suggestions remove artifacts fix compilation of test world ChangeLog entry code quality fixes improve readability adapt to multiple systems
182 lines
5.7 KiB
TOML
182 lines
5.7 KiB
TOML
cargo-features = ["named-profiles", "profile-overrides"]
|
|
|
|
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"common",
|
|
"common/assets",
|
|
"common/i18n",
|
|
"common/base",
|
|
"common/dynlib",
|
|
"common/ecs",
|
|
"common/net",
|
|
"common/state",
|
|
"common/systems",
|
|
"common/frontend",
|
|
"client",
|
|
"client/i18n",
|
|
"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.16.1", 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"]}
|
|
async-trait = "0.1.42"
|
|
sha2 = "0.10"
|
|
hex = "0.4.3"
|
|
|
|
[patch.crates-io]
|
|
shred = { git = "https://github.com/amethyst/shred.git", rev = "5d52c6fc390dd04c12158633e77591f6523d1f85" }
|
|
# This is needed because of:
|
|
# * an issue with spirv & naga in wgpu 0.18 (I assume this is fixed upstream but not in 0.18)
|
|
# * an issue with uint in uniforms for gl. (potentially fixed in 0.19?)
|
|
# * an issue with releasing current context on Windows opengl (fixed in 0.19.1)
|
|
# * another spirv issue: unused builtins not always being removed. (upstream PR open)
|
|
wgpu = { git = "https://github.com/Imberflur/wgpu.git", tag = "0.18-with-fixes-for-veloren-v1" }
|
|
# wgpu = { path = "../wgpu/wgpu" }
|
|
|
|
# keyboard-keynames = { git = "https://gitlab.com/Capucho/keyboard-keynames.git", rev = "7b1375ee4ea01d0e0b80c419cb27f0498e67df3a" }
|
|
|
|
# # 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-hal = { path = "../wgpu/wgpu-hal" }
|
|
# wgpu-core = { path = "../wgpu/wgpu-core" }
|
|
# wgpu-types = { path = "../wgpu/wgpu-types" }
|
|
# naga = { path = "../wgpu/naga" }
|
|
|