veloren/voxygen/Cargo.toml

160 lines
6.2 KiB
TOML
Raw Normal View History

[package]
2019-08-04 19:54:08 +00:00
authors = ["Joshua Barretto <joshua.s.barretto@gmail.com>", "Imbris <imbrisf@gmail.com>"]
default-run = "veloren-voxygen"
2022-01-26 13:38:47 +00:00
edition = "2021"
name = "veloren-voxygen"
2023-06-26 22:28:05 +00:00
version = "0.15.0"
2020-01-09 06:05:20 +00:00
# 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.
"""
2019-01-07 21:10:31 +00:00
[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 = ["common-frontend/tracy", "client/tracy"]
tracy-memory = ["tracy"] # enables heap profiling with tracy
2023-10-17 20:10:19 +00:00
plugins = ["client/plugins", "common-assets/plugins"]
egui-ui = ["voxygen-egui", "egui", "egui_wgpu_backend", "egui_winit_platform"]
2024-01-07 16:51:44 +00:00
shaderc-from-source = ["shaderc/build-from-source"]
2022-08-15 15:58:37 +00:00
discord = ["discord-sdk"]
2022-12-15 16:19:49 +00:00
bin_img-export = ["common-assets"]
2019-01-07 21:10:31 +00:00
# We don't ship egui with published release builds so a separate feature is required that excludes it.
2022-08-19 16:45:22 +00:00
default-publish = ["singleplayer", "native-dialog", "plugins", "discord", "simd"]
2022-06-04 01:25:17 +00:00
# Temp for bug on current wgpu version that has access violation in vulkan when constructing egui pipeline
2024-01-07 16:51:44 +00:00
default-no-egui = ["default-publish", "hot-reloading", "shaderc-from-source"]
2022-06-04 01:25:17 +00:00
default = ["default-no-egui", "egui-ui"]
2019-01-07 21:10:31 +00:00
[dependencies]
client = {package = "veloren-client", path = "../client"}
common = {package = "veloren-common", path = "../common"}
2022-12-15 16:19:49 +00:00
common-assets = {package = "veloren-common-assets", path = "../common/assets", optional = true} # img-export
common-base = {package = "veloren-common-base", path = "../common/base"}
common-ecs = {package = "veloren-common-ecs", path = "../common/ecs"}
2021-03-28 23:40:53 +00:00
common-frontend = {package = "veloren-common-frontend", path = "../common/frontend"}
common-net = {package = "veloren-common-net", path = "../common/net"}
2021-04-06 15:47:03 +00:00
common-state = {package = "veloren-common-state", path = "../common/state"}
2022-12-15 16:19:49 +00:00
common-systems = {package = "veloren-common-systems", path = "../common/systems"}
anim = {package = "veloren-voxygen-anim", path = "anim"}
i18n = {package = "veloren-client-i18n", path = "../client/i18n"}
2022-09-25 20:33:12 +00:00
i18n-helpers = {package = "veloren-voxygen-i18n-helpers", path = "i18n-helpers"}
voxygen-egui = {package = "veloren-voxygen-egui", path = "egui", optional = true }
2020-06-17 07:49:14 +00:00
# Graphics
winit = {version = "0.28.6", features = ["serde"]}
wgpu = { version = "0.18.0", default-features = false, features = ["trace", "spirv", "glsl"] }
2021-08-17 22:15:29 +00:00
wgpu-profiler = "0.15.0"
bytemuck = { version="1.7", features=["derive"] }
2024-01-07 16:51:44 +00:00
# shaderc = "0.8.0"
# Working around a current bug in shaderc that causes it to use the system installation even if we specify compile from source
shaderc = { git = "https://github.com/pythonesque/shaderc-rs", rev = "f2605a02062834019bedff911aee2fd2998c49f9" }
# 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"
2019-01-02 22:08:13 +00:00
2019-12-15 17:13:52 +00:00
# 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"
2024-01-08 21:16:10 +00:00
iced = {package = "iced_native", git = "https://github.com/Imberflur/iced", tag = "veloren-winit-0.28"}
iced_winit = {git = "https://github.com/Imberflur/iced", tag = "veloren-winit-0.28"}
glyph_brush = "0.7.0"
# https://gitlab.com/Frinksy/keyboard-keynames/-/merge_requests/8
keyboard-keynames = { git = "https://gitlab.com/Imbris/keyboard-keynames.git", tag = "veloren-winit-0.28" }
# EGUI
2021-08-17 22:15:29 +00:00
egui = {version = "0.23", optional = true }
egui_wgpu_backend = { git = "https://github.com/hasenbanck/egui_wgpu_backend.git", rev = "34691d4e9149deb9cd0bb8cbb5a56bffebf47588", optional = true }
egui_winit_platform = { version = "0.20", optional = true }
# ECS
specs = { workspace = true, features = ["serde", "storage-event-control"] }
2019-01-02 22:08:13 +00:00
# Mathematics
vek = { workspace = true }
levenshtein = "1.0.5"
2019-01-07 21:10:31 +00:00
2020-03-10 21:00:13 +00:00
# Controller
gilrs = {version = "0.10.0", features = ["serde-serialize"]}
2020-03-10 21:00:13 +00:00
# Singleplayer
server = { package = "veloren-server", path = "../server", optional = true, default-features = false, features = ["worldgen"] }
2019-06-04 19:57:13 +00:00
# CLI
clap = { workspace = true }
2019-01-07 21:10:31 +00:00
# Utility
2024-01-20 15:46:16 +00:00
assets_manager = {version = "0.11", features = ["ab_glyph"]}
backtrace = "0.3.40"
chrono = { workspace = true }
2023-05-04 08:44:07 +00:00
chumsky = "0.9"
crossbeam-utils = { workspace = true }
crossbeam-channel = { workspace = true }
2020-11-06 13:14:54 +00:00
directories-next = "2.0"
2023-01-22 17:00:39 +00:00
dot_vox = "5.1"
guillotiere = "0.6.2"
hashbrown = { workspace = true }
image = { workspace = true, features = ["ico"]}
lazy_static = { workspace = true }
native-dialog = { version = "0.6.3", optional = true }
num = { workspace = true }
ordered-float = { workspace = true }
rand = { workspace = true }
rand_chacha = { workspace = true }
rayon = { workspace = true }
rodio = {version = "0.15", default-features = false, features = ["vorbis"]}
ron = { workspace = true }
serde = { workspace = true, features = [ "rc" ]}
slab = { workspace = true }
strum = { workspace = true }
tracing = { workspace = true }
2021-04-10 13:53:00 +00:00
treeculler = "0.2"
tokio = { workspace = true, features = ["rt-multi-thread"] }
num_cpus = "1.0"
inline_tweak = { workspace = true }
itertools = { workspace = true }
2022-08-15 15:58:37 +00:00
# Discord RPC
discord-sdk = { version = "0.3.0", optional = true }
enum-map = { workspace = true }
2022-08-15 15:58:37 +00:00
[target.'cfg(target_os = "macos")'.dependencies]
2020-07-07 09:16:15 +00:00
dispatch = "0.1.4"
[target.'cfg(windows)'.build-dependencies]
2019-10-04 16:44:31 +00:00
winres = "0.1"
2020-01-09 06:05:20 +00:00
[target.'cfg(windows)'.dependencies]
2022-07-04 07:15:18 +00:00
mimalloc = "0.1.29"
2021-09-02 23:07:07 +00:00
# Mumble
[target.'cfg(not(target_os="macos"))'.dependencies]
mumble-link = "0.2.0"
2021-09-02 23:07:07 +00:00
2020-01-09 06:05:20 +00:00
[dev-dependencies]
2023-08-27 16:13:32 +00:00
criterion = { version = "0.5.1", default-features=false, features=["rayon", "cargo_bench_support"]}
world = {package = "veloren-world", path = "../world"}
rayon = { workspace = true }
2020-01-09 06:05:20 +00:00
[[bench]]
harness = false
name = "meshing_benchmark"
2022-12-15 16:19:49 +00:00
[[bin]]
name = "img-export"
required-features = ["bin_img-export"]