mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
156 lines
5.9 KiB
TOML
156 lines
5.9 KiB
TOML
[package]
|
|
authors = ["Joshua Barretto <joshua.s.barretto@gmail.com>", "Imbris <imbrisf@gmail.com>"]
|
|
default-run = "veloren-voxygen"
|
|
edition = "2021"
|
|
name = "veloren-voxygen"
|
|
version = "0.12.0"
|
|
# Cargo thinks it should build the voxygen binary even when a specific bench is specified for building
|
|
# Uncomment below and comment out default-run if you want to avoid this
|
|
# autobins = false
|
|
|
|
[package.metadata.nix]
|
|
build = true
|
|
app = true
|
|
desktopFile = "./assets/voxygen/net.veloren.veloren.desktop"
|
|
longDescription = """
|
|
Veloren is a multiplayer voxel RPG written in Rust.
|
|
It is inspired by games such as Cube World, Legend of Zelda: Breath of the Wild, Dwarf Fortress and Minecraft.
|
|
|
|
This package includes the official client, Voxygen.
|
|
"""
|
|
runtimeLibs = ["libGL", "xorg.libX11", "xorg.libXcursor", "xorg.libXrandr", "xorg.libXi", "vulkan-loader", "vulkan-extension-layer"]
|
|
buildInputs = ["xorg.libxcb"]
|
|
|
|
[features]
|
|
hot-anim = ["anim/use-dyn-lib"]
|
|
hot-egui = ["voxygen-egui/use-dyn-lib", "egui"]
|
|
hot-reloading = ["common/hot-reloading"]
|
|
singleplayer = ["server"]
|
|
simd = ["vek/platform_intrinsics"]
|
|
tracy = ["profiling", "profiling/profile-with-tracy", "common-frontend/tracy", "client/tracy"]
|
|
tracy-memory = ["tracy"] # enables heap profiling with tracy
|
|
plugins = ["client/plugins"]
|
|
egui-ui = ["voxygen-egui", "egui", "egui_wgpu_backend", "egui_winit_platform"]
|
|
shaderc-from-source = ["shaderc/build-from-source"]
|
|
|
|
# We don't ship egui with published release builds so a separate feature is required that excludes it.
|
|
default-publish = ["singleplayer", "native-dialog", "plugins", "simd"]
|
|
# Temp for bug on current wgpu version that has access violation in vulkan when constructing egui pipeline
|
|
default-no-egui = ["default-publish", "hot-reloading", "shaderc-from-source"]
|
|
default = ["default-no-egui", "egui-ui"]
|
|
|
|
[dependencies]
|
|
client = {package = "veloren-client", path = "../client"}
|
|
common = {package = "veloren-common", path = "../common"}
|
|
common-base = {package = "veloren-common-base", path = "../common/base"}
|
|
common-ecs = {package = "veloren-common-ecs", path = "../common/ecs"}
|
|
common-frontend = {package = "veloren-common-frontend", path = "../common/frontend"}
|
|
common-net = {package = "veloren-common-net", path = "../common/net"}
|
|
common-systems = {package = "veloren-common-systems", path = "../common/systems"}
|
|
common-state = {package = "veloren-common-state", path = "../common/state"}
|
|
|
|
anim = {package = "veloren-voxygen-anim", path = "anim"}
|
|
i18n = {package = "veloren-voxygen-i18n", path = "i18n"}
|
|
voxygen-egui = {package = "veloren-voxygen-egui", path = "egui", optional = true }
|
|
|
|
# Graphics
|
|
winit = {version = "0.25.0", features = ["serde"]}
|
|
wgpu = { version = "=0.8.0", features = ["trace", "cross"] }
|
|
wgpu-profiler = { git = "https://github.com/Imberflur/wgpu-profiler", tag = "wgpu-0.8" }
|
|
bytemuck = { version="1.4", features=["derive"] }
|
|
shaderc = "0.6.2"
|
|
# cmake crate used by shaderc, newer version 0.1.46 uses a new cmake command that is not available in our CI cmake version
|
|
# see https://github.com/alexcrichton/cmake-rs/issues/131
|
|
cmake = "=0.1.45"
|
|
|
|
# Ui
|
|
conrod_core = {git = "https://gitlab.com/veloren/conrod.git", branch="copypasta_0.7"}
|
|
conrod_winit = {git = "https://gitlab.com/veloren/conrod.git", branch="copypasta_0.7"}
|
|
euc = "0.5.0"
|
|
iced = {package = "iced_native", git = "https://github.com/Imberflur/iced", tag = "winit-0.25"}
|
|
iced_winit = {git = "https://github.com/Imberflur/iced", tag = "winit-0.25"}
|
|
window_clipboard = "0.2"
|
|
glyph_brush = "0.7.0"
|
|
keyboard-keynames = { git = "https://gitlab.com/Frinksy/keyboard-keynames.git", branch = "develop" }
|
|
|
|
# EGUI
|
|
egui = {version = "0.12", optional = true }
|
|
egui_wgpu_backend = {git = "https://github.com/hasenbanck/egui_wgpu_backend.git", rev = "63a002c6a9b6c016e45806dd065864431caab621", optional = true }
|
|
egui_winit_platform = {version = "0.8", optional = true }
|
|
|
|
# ECS
|
|
specs = {git = "https://github.com/amethyst/specs.git", rev = "f985bec5d456f7b0dd8aae99848f9473c2cd9d46"}
|
|
specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "8be2abcddf8f524cb5876e8dd20a7e47cfaf7573" }
|
|
|
|
# Mathematics
|
|
vek = {version = "0.15.8", features = ["serde"]}
|
|
|
|
# Controller
|
|
gilrs = {version = "0.8.0", features = ["serde-serialize"]}
|
|
|
|
# Singleplayer
|
|
server = { package = "veloren-server", path = "../server", optional = true, default-features = false, features = ["worldgen"] }
|
|
|
|
# Utility
|
|
assets_manager = {version = "0.8", features = ["ab_glyph"]}
|
|
backtrace = "0.3.40"
|
|
bincode = "1.3.1"
|
|
chrono = { version = "0.4.19", features = ["serde"] }
|
|
chumsky = "0.8"
|
|
cpal = "0.13"
|
|
copy_dir = "0.1.2"
|
|
crossbeam-utils = "0.8.1"
|
|
crossbeam-channel = "0.5"
|
|
# TODO: remove
|
|
directories-next = "2.0"
|
|
dot_vox = "4.0"
|
|
enum-iterator = "0.7"
|
|
guillotiere = "0.6.2"
|
|
etagere = "0.2.7"
|
|
hashbrown = {version = "0.11", features = ["rayon", "serde", "nightly"]}
|
|
image = {version = "0.24", default-features = false, features = ["ico", "png"]}
|
|
lazy_static = "1.4.0"
|
|
native-dialog = { version = "0.6.3", optional = true }
|
|
num = "0.4"
|
|
ordered-float = { version = "2.0.1", default-features = false }
|
|
rand = "0.8"
|
|
rand_chacha = "0.3"
|
|
rayon = "1.5"
|
|
rodio = {version = "0.15", default-features = false, features = ["vorbis"]}
|
|
ron = {version = "0.7", default-features = false}
|
|
serde = {version = "1.0", features = [ "rc", "derive" ]}
|
|
slab = "0.4.2"
|
|
strum = { version = "0.24", features = ["derive"] }
|
|
treeculler = "0.2"
|
|
tokio = { version = "1.14", default-features = false, features = ["rt-multi-thread"] }
|
|
num_cpus = "1.0"
|
|
# vec_map = { version = "0.8.2" }
|
|
inline_tweak = "1.0.2"
|
|
itertools = "0.10.0"
|
|
|
|
# Tracy
|
|
tracing = "0.1"
|
|
profiling = { version = "1.0.6", default-features = false, optional = true }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
dispatch = "0.1.4"
|
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
winres = "0.1"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
mimalloc = "0.1.29"
|
|
|
|
# Mumble
|
|
[target.'cfg(not(target_os="macos"))'.dependencies]
|
|
mumble-link = "0.1.0"
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.3"
|
|
world = {package = "veloren-world", path = "../world"}
|
|
rayon = "1.5.0"
|
|
|
|
[[bench]]
|
|
harness = false
|
|
name = "meshing_benchmark"
|