#Cargo features with workspaces

3 messages · Page 1 of 1 (latest)

quartz yoke
#

Hello i have a workspace project structure like this:

cargo-features = ["codegen-backend"]

[workspace]
resolver = "3"
members = ["binary/zombi_client", "binary/zombi_editor","binary/zombi_server","crates/game_assets", "crates/game_audio", "crates/game_client","crates/game_core", "crates/game_editor", "crates/game_entities", "crates/game_input", "crates/game_network", "crates/game_physics", "crates/game_scene", "crates/game_server", "crates/game_shared", "crates/game_visuals"]

[workspace.dependencies]
bevy = { version = "0.17.3", default-features = true, features=[
    "jpeg", 
    "serialize", 
    "hdr",
    "png",
    "file_watcher",
    "embedded_watcher",
]}
serde = "1.0.228"
ron = "0.12.0"
lightyear = { git = "https://github.com/cBournhonesque/lightyear.git", rev="f75338c0", features = ["avian3d", "input_bei", "interpolation", "metrics", "netcode", "prediction", "replication", "udp"] }
lightyear_avian3d = { git = "https://github.com/cBournhonesque/lightyear.git", rev="f75338c0", features = ["lag_compensation", "deterministic"] }
lightyear_frame_interpolation = { git = "https://github.com/cBournhonesque/lightyear.git", rev="f75338c0" }
lightyear_ui = { git = "https://github.com/cBournhonesque/lightyear.git", rev="f75338c0" }
avian3d = { version = "0.4.1", features = ["debug-plugin", "serialize", "parallel", "parry-f32", "enhanced-determinism"] }
bevy-tnua = { version = "0.28.0", features = ["serialize"] }
bevy-tnua-physics-integration-layer = { version = "0.11" }
bevy-tnua-avian3d = "0.9.0"
bevy_enhanced_input = { version = "0.20.0", features = ["serialize"] }
rand_chacha = "0.9.0"
rand = "0.9.2"
bevy_asset_loader = { version = "0.24.0-rc.1", features = ["3d"] }
bevy_seedling = "0.6.1"
bevy_hanabi = {version = "0.17.0", features = ["serde", "3d"]}
bevy_tweening = "0.14.0"
anyhow = "1.0.100"
bevy_egui = "0.38.0"
bevy_panorbit_camera = { version = "0.33.0" }
bevy-inspector-egui = "0.35.0"# Enable a small amount of optimization in the dev profile.
bevy_skein = "0.4.0"
serde_any = "0.5.0"
logos = "0.15.1"
chumsky = "0.9.3"

[profile.dev]
opt-level = 1

# Enable a large amount of optimization in the dev profile for dependencies.
[profile.dev.package."*"]
opt-level = 3

And i want to add bevy/dynamic_linking as a feature like --feature dev i have 3 executables in this project. Like this one:

[features]
default = [
    # Default to a native dev build.
    "dev_native",
]
native = []
dev = [
    # Improve compile times for dev builds by linking Bevy as a dynamic library.
    "bevy/dynamic_linking",
    "bevy/bevy_dev_tools",
    "bevy/bevy_ui_debug",
    # Improve error messages coming from Bevy
    "bevy/track_location",
    "dep:bevy-inspector-egui",
    "avian3d/diagnostic_ui",
    "bevy_rerecast/debug_plugin",
    "bevy_rerecast/editor_integration",
]
dev_native = [
    "dev",
    "native",
    "bevy/bevy_remote",
    # Enable asset hot reloading for native dev builds.
    "bevy/file_watcher",
    # Enable embedded asset hot reloading for native dev builds.
    "bevy/embedded_watcher",
    "bevy_rerecast/editor_integration",
]

But if i add features to root cargo.toml i get an error

lofty bolt
#

is the error saying that [feature] is only for packages?

quartz yoke