mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
118 lines
3.2 KiB
TOML
118 lines
3.2 KiB
TOML
cargo-features = ["named-profiles","profile-overrides"]
|
|
|
|
[workspace]
|
|
members = [
|
|
"common",
|
|
"common/assets",
|
|
"common/base",
|
|
"common/ecs",
|
|
"common/net",
|
|
"common/state",
|
|
"common/systems",
|
|
"common/frontend",
|
|
"client",
|
|
"plugin/api",
|
|
"plugin/derive",
|
|
"plugin/rt",
|
|
"server",
|
|
"server-cli",
|
|
"voxygen",
|
|
"voxygen/anim",
|
|
"voxygen/anim/dyn",
|
|
"voxygen/i18n",
|
|
"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
|
|
codegen-units = 8
|
|
lto = false
|
|
incremental = true
|
|
# All dependencies (but not this crate itself)
|
|
[profile.dev.package."*"]
|
|
# TODO: seems like opt-level=2 should be sufficient here....
|
|
opt-level = 3
|
|
[profile.dev.package."veloren-network"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-network-protocol"]
|
|
opt-level = 3
|
|
incremental = false
|
|
[profile.dev.package."veloren-common"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-common-systems"]
|
|
incremental = false
|
|
[profile.dev.package."veloren-client"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-server"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-server-cli"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-voxygen"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-world"]
|
|
opt-level = 2
|
|
|
|
|
|
# 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 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
|
|
|
|
# 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.metadata.nix.crateOverride.veloren-network]
|
|
buildInputs = ["openssl"]
|
|
nativeBuildInputs = ["pkg-config"]
|
|
|
|
[patch.crates-io]
|
|
# macos CI fix isn't merged yet
|
|
winit = { git = "https://gitlab.com/veloren/winit.git", branch = "macos-test-spiffed" }
|
|
vek = { git = "https://gitlab.com/veloren/vek.git", branch = "fix_intrinsics2" }
|
|
# patch wgpu so we can use wgpu-profiler crate
|
|
wgpu = { git = "https://github.com/gfx-rs/wgpu-rs.git", rev = "fd4a9925334264725fda5c5d82fa16d7f8aaaa24" }
|