1[package] 2name = "glam" 3version = "0.25.0" # remember to update html_root_url 4edition = "2021" 5authors = ["Cameron Hart <cameron.hart@gmail.com>"] 6description = "A simple and fast 3D math library for games and graphics" 7repository = "https://github.com/bitshifter/glam-rs" 8readme = "README.md" 9license = "MIT OR Apache-2.0" 10keywords = ["gamedev", "math", "matrix", "vector", "quaternion"] 11categories = ["game-engines", "no-std"] 12rust-version = "1.58.1" 13 14[badges] 15maintenance = { status = "actively-developed" } 16 17[features] 18default = ["std"] 19 20# enable support for the standard library 21std = [] 22 23# enable additional glam checks if debug assertions are enabled 24debug-glam-assert = [] 25# always enable additional glam checks 26glam-assert = [] 27 28# this is primarily for testing the fallback implementation 29scalar-math = [] 30 31# align types to match CUDA requirements 32cuda = [] 33 34# Enables platform specific optimizations that might speed-up certain operations. 35# This will cause APIs to output different results depending on the platform used 36# and will likely break cross-platform determinism. 37# This should NOT be enabled by intermediate libraries, deferring the decision to 38# the end binary build instead. 39fast-math = [] 40 41# experimental nightly portable-simd support 42core-simd = [] 43 44[dependencies] 45approx = { version = "0.5", optional = true, default-features = false } 46bytemuck = { version = "1.9", optional = true, default-features = false } 47mint = { version = "0.5.8", optional = true, default-features = false } 48rand = { version = "0.8", optional = true, default-features = false } 49serde = { version = "1.0", optional = true, default-features = false } 50rkyv = { version = "0.7", optional = true, default-features = false } 51bytecheck = { version = "0.6", optional = true, default-features = false } 52libm = { version = "0.2", optional = true, default-features = false} 53 54[dev-dependencies] 55# rand_xoshiro is required for tests if rand is enabled 56rand_xoshiro = "0.6" 57# Set a size_xx feature so that this crate compiles properly with --all-targets --all-features 58rkyv = { version = "0.7", features = ["size_32"] } 59serde_json = "1.0" 60 61[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] 62criterion = { version = "0.4", features = ["html_reports"] } 63 64[target.'cfg(target_arch = "wasm32")'.dev-dependencies] 65wasm-bindgen-test = "0.3.0" 66 67[lib] 68bench = false 69 70[[bench]] 71name = "mat2" 72harness = false 73 74[[bench]] 75name = "mat3" 76harness = false 77 78[[bench]] 79name = "mat3a" 80harness = false 81 82[[bench]] 83name = "affine2" 84harness = false 85 86[[bench]] 87name = "affine3" 88harness = false 89 90[[bench]] 91name = "mat4" 92harness = false 93 94[[bench]] 95name = "quat" 96harness = false 97 98[[bench]] 99name = "vec2" 100harness = false 101 102[[bench]] 103name = "vec3" 104harness = false 105 106[[bench]] 107name = "vec3a" 108harness = false 109 110[[bench]] 111name = "vec4" 112harness = false 113 114[workspace] 115members = [ 116 "codegen", 117 "test_no_std", 118] 119