hexlab/Cargo.toml

86 lines
2.0 KiB
TOML

[package]
name = "hexlab"
authors = ["Kristofers Solo <dev@kristofers.xyz>"]
version = "0.4.0"
edition = "2021"
description = "A hexagonal maze generation and manipulation library"
repository = "https://github.com/kristoferssolo/hexlab"
documentation = "https://docs.rs/hexlab"
homepage = "https://github.com/kristoferssolo/hexlab"
license = "MIT OR Apache-2.0"
keywords = ["maze", "hex", "hexagons", "generation", "game"]
categories = [
"algorithms",
"game-development",
"mathematics",
"data-structures",
]
exclude = ["/.github", "/.gitignore", "/tests", "*.png", "*.md"]
readme = "README.md"
[dependencies]
hexx = { version = "0.19" }
rand = "0.8"
serde = { version = "1.0", features = ["derive"], optional = true }
thiserror = "2.0"
bevy = { version = "0.15", optional = true }
bevy_utils = { version = "0.15", optional = true }
glam = { version = "0.29", optional = true }
[dependencies.bevy_reflect]
version = "0.15"
optional = true
default-features = false
features = ["glam"]
[dev-dependencies]
claims = "0.8"
rstest = "0.23"
[features]
default = []
serde = ["dep:serde", "hexx/serde"]
bevy = ["dep:bevy", "bevy_reflect"]
bevy_reflect = [
"dep:bevy_reflect",
"dep:bevy_utils",
"hexx/bevy_reflect",
"dep:glam",
]
full = ["serde", "bevy"]
[profile.dev]
opt-level = 1 # Better compile times with some optimization
[profile.release]
opt-level = 3
lto = "thin"
strip = true # Smaller binary size
panic = "abort" # Smaller binary size
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[profile.dev.package."*"]
opt-level = 3
# Override some settings for native builds.
[profile.release-native]
# Default to release profile values.
inherits = "release"
# Optimize with performance in mind.
opt-level = 3
# Keep debug information in the binary.
strip = "none"
[lints.clippy]
pedantic = "warn"
nursery = "warn"
unwrap_used = "warn"
expect_used = "warn"
[package.metadata.nextest]
slow-timeout = { period = "120s", terminate-after = 3 }