1[package] 2name = "glam" 3version = "0.23.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# libm is required when building no_std 32libm = ["num-traits/libm"] 33 34# align types to match CUDA requirements 35cuda = [] 36 37# Enables platform specific optimizations that might speed-up certain operations. 38# This will cause APIs to output different results depending on the platform used 39# and will likely break cross-platform determinism. 40# This should NOT be enabled by intermediate libraries, deferring the decision to 41# the end binary build instead. 42fast-math = [] 43 44# experimental nightly portable-simd support 45core-simd = [] 46 47[dependencies] 48approx = { version = "0.5", optional = true, default-features = false } 49bytemuck = { version = "1.5", optional = true, default-features = false } 50mint = { version = "0.5.8", optional = true, default-features = false } 51num-traits = { version = "0.2.14", optional = true, default-features = false } 52rand = { version = "0.8", optional = true, default-features = false } 53serde = { version = "1.0", optional = true, default-features = false, features = ["derive"] } 54rkyv = { version = "0.7", optional = true } 55bytecheck = { version = "0.6", optional = true, default-features = false} 56 57[dev-dependencies] 58# rand_xoshiro is required for tests if rand is enabled 59rand_xoshiro = "0.6" 60serde_json = "1.0" 61 62[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] 63criterion = { version = "0.4", features = ["html_reports"] } 64 65[target.'cfg(target_arch = "wasm32")'.dev-dependencies] 66wasm-bindgen-test = "0.3.0" 67 68[lib] 69bench = false 70 71[[bench]] 72name = "mat2" 73harness = false 74 75[[bench]] 76name = "mat3" 77harness = false 78 79[[bench]] 80name = "mat3a" 81harness = false 82 83[[bench]] 84name = "affine2" 85harness = false 86 87[[bench]] 88name = "affine3" 89harness = false 90 91[[bench]] 92name = "mat4" 93harness = false 94 95[[bench]] 96name = "quat" 97harness = false 98 99[[bench]] 100name = "vec2" 101harness = false 102 103[[bench]] 104name = "vec3" 105harness = false 106 107[[bench]] 108name = "vec3a" 109harness = false 110 111[[bench]] 112name = "vec4" 113harness = false 114 115[workspace] 116members = [ 117 "codegen", 118 "test_no_std", 119] 120