cargo-features = ["profile-rustflags"] [package] name = "pkmn_lib" version = "0.1.0" authors = ["Deukhoofd "] edition = "2018" license = "MIT" [lib] name = "pkmn_lib" crate_type = ["cdylib", "rlib"] path = "src/lib.rs" [features] ffi = [] serde = ["dep:serde", "dep:serde-xml-rs", "atomig/serde"] wasm = ["dep:wasmer"] rune = ["dep:rune"] default = ["serde", "rune", "ffi"] [profile.dev] opt-level = 0 debug = true debug-assertions = true overflow-checks = true lto = false panic = 'unwind' incremental = true codegen-units = 256 rpath = false [profile.release] opt-level = 3 debug = 1 debug-assertions = false overflow-checks = true lto = false panic = 'unwind' incremental = false codegen-units = 16 rpath = false [dependencies] # Used for PrimInt, so we can check if a generic is an integer num-traits = "0.2" atomig = { version = "0.4", features = ["derive"] } # Used for time based code (i.e. randomness) chrono = "0.4" # Used for RNG rand = "0.8" rand_pcg = "0.3" hashbrown = "0.14" indexmap = "2.0" parking_lot = "0.12" serde = { version = "1.0", optional = true, features = ["derive"] } serde_repr = "0.1" serde-xml-rs = { version = "0.6", optional = true } uuid = "1.5" paste = { version = "1.0" } arcstr = { version = "1.1", features = ["std"] } enum-display-derive = "0.1" anyhow = "1.0" anyhow_ext = "0.2" thiserror = "1.0" stdext = "0.3" wasmer = { version = "4.2", optional = true, default-features = false, features = ["sys", "wat", "llvm"] } rune = { version = "0.13.2", optional = true } [dev-dependencies] csv = "1.3" project-root = "0.2" serde_yaml = "0.9" serde_json = "1.0" serde_plain = "1.0" # Allow us to assert whether floats are approximately a value assert_approx_eq = "1.1" mockall = "0.12" walkdir = "2.3"