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