• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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