Why not enable SIMD for glm?

Cesium Native (and I think some of the deps like draco) use glm. glm is significantly faster with SIMD, but according to the glm manual:

GLM provides some SIMD optimizations based on compiler intrinsics. These optimizations will be automatically thanks to compiler arguments when GLM_FORCE_INTRINSICS is defined before including GLM files.

This implies that omitting GLM_FORCE_INTRINSICS before glm includes means SIMD won’t be used (it’s a bit confusing since they have another define for forcing SIMD to off, but the wording in the manual is consistent with the above). I didn’t see this define in the Cesium source files where glm headers are included, and I didn’t see it in the Cesium cmake configuration (possible I missed it…). Seems to me it would be best to have a configuration that supports it for systems that have SIMD (which is virtually all of them)

@trifonov-borislav The direct answer to your question is: we didn’t know about this option and hadn’t defined it yet! It does look like there’s some complexity with using GLM with constexpr if that define is on, since the compiler intrinsics aren’t constexpr, but I just gave it a shot with Cesium Native and everything seems to be working just fine. Here’s a PR to enable the define.