blob: d69c5af3afd1dbd9297131701f149968e14a465f [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001From 99a9676a0193f6291d7202d7af72e24580abe565 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
3Date: Fri, 16 Mar 2018 13:55:29 +0100
4Subject: [PATCH 1/2] Make GLM_ENABLE_EXPERIMENTAL a configurable option
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9It seems that erroring out if GLM_ENABLE_EXPERIMENTAL is not set turns into
10packagers nightmare: There are packages around expecting glx headers. E.g
11libgltf [1] fails during configure checking for usable headers AND during
12compile. Paticularly fixing configure for those packages is time-consuming:
13The only way (correct me if I am wrong) is creating a patch adding
14
15AC_DEFINE([GLM_ENABLE_EXPERIMENTAL], [1], [glm needs this for gtx headers])
16
17By adding a configure option 'GLM_ENABLE_EXPERIMENTAL', the decision to use
18glm/glx is done at one (and the right) place.
19
20Signed-off-by: Andreas MΓΌller <schnitzeltony@gmail.com>
21
22[1] https://gerrit.libreoffice.org/gitweb?p=libgltf.git
23
24Uptream-Status: Submitted [2]
25
26[2] https://github.com/g-truc/glm/pull/741
27---
28 CMakeLists.txt | 6 ++++++
29 glm/CMakeLists.txt | 2 ++
30 glm/experimental.hpp.in | 1 +
31 glm/ext.hpp | 1 +
32 glm/gtx/associated_min_max.hpp | 1 +
33 glm/gtx/bit.hpp | 1 +
34 glm/gtx/closest_point.hpp | 1 +
35 glm/gtx/color_space.hpp | 1 +
36 glm/gtx/color_space_YCoCg.hpp | 1 +
37 glm/gtx/common.hpp | 1 +
38 glm/gtx/compatibility.hpp | 1 +
39 glm/gtx/component_wise.hpp | 1 +
40 glm/gtx/dual_quaternion.hpp | 1 +
41 glm/gtx/euler_angles.hpp | 1 +
42 glm/gtx/extend.hpp | 1 +
43 glm/gtx/extended_min_max.hpp | 1 +
44 glm/gtx/fast_exponential.hpp | 1 +
45 glm/gtx/fast_square_root.hpp | 1 +
46 glm/gtx/fast_trigonometry.hpp | 1 +
47 glm/gtx/gradient_paint.hpp | 1 +
48 glm/gtx/handed_coordinate_space.hpp | 1 +
49 glm/gtx/hash.hpp | 1 +
50 glm/gtx/integer.hpp | 1 +
51 glm/gtx/intersect.hpp | 1 +
52 glm/gtx/io.hpp | 1 +
53 glm/gtx/log_base.hpp | 1 +
54 glm/gtx/matrix_cross_product.hpp | 1 +
55 glm/gtx/matrix_decompose.hpp | 1 +
56 glm/gtx/matrix_factorisation.hpp | 1 +
57 glm/gtx/matrix_interpolation.hpp | 1 +
58 glm/gtx/matrix_major_storage.hpp | 1 +
59 glm/gtx/matrix_operation.hpp | 1 +
60 glm/gtx/matrix_query.hpp | 1 +
61 glm/gtx/matrix_transform_2d.hpp | 1 +
62 glm/gtx/mixed_product.hpp | 1 +
63 glm/gtx/norm.hpp | 1 +
64 glm/gtx/normal.hpp | 1 +
65 glm/gtx/normalize_dot.hpp | 1 +
66 glm/gtx/number_precision.hpp | 1 +
67 glm/gtx/optimum_pow.hpp | 1 +
68 glm/gtx/orthonormalize.hpp | 1 +
69 glm/gtx/perpendicular.hpp | 1 +
70 glm/gtx/polar_coordinates.hpp | 1 +
71 glm/gtx/projection.hpp | 1 +
72 glm/gtx/quaternion.hpp | 1 +
73 glm/gtx/range.hpp | 1 +
74 glm/gtx/raw_data.hpp | 1 +
75 glm/gtx/rotate_normalized_axis.hpp | 1 +
76 glm/gtx/rotate_vector.hpp | 1 +
77 glm/gtx/scalar_multiplication.hpp | 1 +
78 glm/gtx/scalar_relational.hpp | 1 +
79 glm/gtx/spline.hpp | 1 +
80 glm/gtx/std_based_type.hpp | 1 +
81 glm/gtx/string_cast.hpp | 1 +
82 glm/gtx/texture.hpp | 1 +
83 glm/gtx/transform.hpp | 1 +
84 glm/gtx/transform2.hpp | 1 +
85 glm/gtx/type_aligned.hpp | 1 +
86 glm/gtx/type_trait.hpp | 1 +
87 glm/gtx/vec_swizzle.hpp | 1 +
88 glm/gtx/vector_angle.hpp | 1 +
89 glm/gtx/vector_query.hpp | 1 +
90 glm/gtx/wrap.hpp | 1 +
91 63 files changed, 69 insertions(+)
92 create mode 100644 glm/experimental.hpp.in
93
94diff --git a/CMakeLists.txt b/CMakeLists.txt
95index e5159b0f..bd4dd654 100644
96--- a/CMakeLists.txt
97+++ b/CMakeLists.txt
98@@ -82,6 +82,11 @@ option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF)
99 option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF)
100 option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF)
101
102+option(GLM_ENABLE_EXPERIMENTAL "Enable experimental GLM_GTX" OFF)
103+configure_file(glm/experimental.hpp.in experimental.hpp @ONLY)
104+include_directories(${CMAKE_BINARY_DIR}/glm)
105+include_directories(${CMAKE_BINARY_DIR})
106+
107 if(GLM_TEST_FORCE_PURE)
108 add_definitions(-DGLM_FORCE_PURE)
109
110@@ -167,6 +172,7 @@ option(GLM_INSTALL_ENABLE "GLM install" ON)
111 set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
112 if (GLM_INSTALL_ENABLE)
113 install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
114+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm)
115 endif()
116
117 write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake" VERSION ${GLM_VERSION} COMPATIBILITY AnyNewerVersion)
118diff --git a/glm/CMakeLists.txt b/glm/CMakeLists.txt
119index df9c9ee5..dc5db4bc 100644
120--- a/glm/CMakeLists.txt
121+++ b/glm/CMakeLists.txt
122@@ -43,6 +43,8 @@ source_group("SIMD Files" FILES ${SIMD_INLINE})
123 source_group("SIMD Files" FILES ${SIMD_HEADER})
124
125 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
126+# make out-of tree builds find experimental.hpp
127+include_directories(${CMAKE_BINARY_DIR}/glm)
128
129 if(GLM_STATIC_LIBRARY_ENABLE OR GLM_DYNAMIC_LIBRARY_ENABLE)
130 if(GLM_STATIC_LIBRARY_ENABLE)
131diff --git a/glm/experimental.hpp.in b/glm/experimental.hpp.in
132new file mode 100644
133index 00000000..bfab5138
134--- /dev/null
135+++ b/glm/experimental.hpp.in
136@@ -0,0 +1 @@
137+#cmakedefine GLM_ENABLE_EXPERIMENTAL
138diff --git a/glm/ext.hpp b/glm/ext.hpp
139index d085bfd5..a2948447 100644
140--- a/glm/ext.hpp
141+++ b/glm/ext.hpp
142@@ -39,6 +39,7 @@
143 # include "./gtc/type_aligned.hpp"
144 #endif
145
146+#include "experimental.hpp"
147 #ifdef GLM_ENABLE_EXPERIMENTAL
148 #include "./gtx/associated_min_max.hpp"
149 #include "./gtx/bit.hpp"
150diff --git a/glm/gtx/associated_min_max.hpp b/glm/gtx/associated_min_max.hpp
151index 0c9935f3..d00c2bc4 100644
152--- a/glm/gtx/associated_min_max.hpp
153+++ b/glm/gtx/associated_min_max.hpp
154@@ -16,6 +16,7 @@
155 // Dependency:
156 #include "../glm.hpp"
157
158+#include "../experimental.hpp"
159 #ifndef GLM_ENABLE_EXPERIMENTAL
160 # error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
161 #endif
162diff --git a/glm/gtx/bit.hpp b/glm/gtx/bit.hpp
163index 1447fa00..31957083 100644
164--- a/glm/gtx/bit.hpp
165+++ b/glm/gtx/bit.hpp
166@@ -15,6 +15,7 @@
167 // Dependencies
168 #include "../gtc/bitfield.hpp"
169
170+#include "../experimental.hpp"
171 #ifndef GLM_ENABLE_EXPERIMENTAL
172 # error "GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
173 #endif
174diff --git a/glm/gtx/closest_point.hpp b/glm/gtx/closest_point.hpp
175index 6859bb96..ebd9fe5a 100644
176--- a/glm/gtx/closest_point.hpp
177+++ b/glm/gtx/closest_point.hpp
178@@ -15,6 +15,7 @@
179 // Dependency:
180 #include "../glm.hpp"
181
182+#include "../experimental.hpp"
183 #ifndef GLM_ENABLE_EXPERIMENTAL
184 # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
185 #endif
186diff --git a/glm/gtx/color_space.hpp b/glm/gtx/color_space.hpp
187index d1e655c3..51416819 100644
188--- a/glm/gtx/color_space.hpp
189+++ b/glm/gtx/color_space.hpp
190@@ -15,6 +15,7 @@
191 // Dependency:
192 #include "../glm.hpp"
193
194+#include "../experimental.hpp"
195 #ifndef GLM_ENABLE_EXPERIMENTAL
196 # error "GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
197 #endif
198diff --git a/glm/gtx/color_space_YCoCg.hpp b/glm/gtx/color_space_YCoCg.hpp
199index e82cbd8b..7ae71041 100644
200--- a/glm/gtx/color_space_YCoCg.hpp
201+++ b/glm/gtx/color_space_YCoCg.hpp
202@@ -15,6 +15,7 @@
203 // Dependency:
204 #include "../glm.hpp"
205
206+#include "../experimental.hpp"
207 #ifndef GLM_ENABLE_EXPERIMENTAL
208 # error "GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
209 #endif
210diff --git a/glm/gtx/common.hpp b/glm/gtx/common.hpp
211index 8081bff7..57a68a8d 100644
212--- a/glm/gtx/common.hpp
213+++ b/glm/gtx/common.hpp
214@@ -18,6 +18,7 @@
215 #include "../vec4.hpp"
216 #include "../gtc/vec1.hpp"
217
218+#include "../experimental.hpp"
219 #ifndef GLM_ENABLE_EXPERIMENTAL
220 # error "GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
221 #endif
222diff --git a/glm/gtx/compatibility.hpp b/glm/gtx/compatibility.hpp
223index e5b60399..9876669c 100644
224--- a/glm/gtx/compatibility.hpp
225+++ b/glm/gtx/compatibility.hpp
226@@ -16,6 +16,7 @@
227 #include "../glm.hpp"
228 #include "../gtc/quaternion.hpp"
229
230+#include "../experimental.hpp"
231 #ifndef GLM_ENABLE_EXPERIMENTAL
232 # error "GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
233 #endif
234diff --git a/glm/gtx/component_wise.hpp b/glm/gtx/component_wise.hpp
235index 39bab5d5..4fe0e4e2 100644
236--- a/glm/gtx/component_wise.hpp
237+++ b/glm/gtx/component_wise.hpp
238@@ -18,6 +18,7 @@
239 #include "../detail/setup.hpp"
240 #include "../detail/qualifier.hpp"
241
242+#include "../experimental.hpp"
243 #ifndef GLM_ENABLE_EXPERIMENTAL
244 # error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
245 #endif
246diff --git a/glm/gtx/dual_quaternion.hpp b/glm/gtx/dual_quaternion.hpp
247index c4343e9d..d59fb459 100644
248--- a/glm/gtx/dual_quaternion.hpp
249+++ b/glm/gtx/dual_quaternion.hpp
250@@ -20,6 +20,7 @@
251 #include "../gtc/constants.hpp"
252 #include "../gtc/quaternion.hpp"
253
254+#include "../experimental.hpp"
255 #ifndef GLM_ENABLE_EXPERIMENTAL
256 # error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
257 #endif
258diff --git a/glm/gtx/euler_angles.hpp b/glm/gtx/euler_angles.hpp
259index e66e9281..ad5988c1 100644
260--- a/glm/gtx/euler_angles.hpp
261+++ b/glm/gtx/euler_angles.hpp
262@@ -15,6 +15,7 @@
263 // Dependency:
264 #include "../glm.hpp"
265
266+#include "../experimental.hpp"
267 #ifndef GLM_ENABLE_EXPERIMENTAL
268 # error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
269 #endif
270diff --git a/glm/gtx/extend.hpp b/glm/gtx/extend.hpp
271index eda4e470..cde6db63 100644
272--- a/glm/gtx/extend.hpp
273+++ b/glm/gtx/extend.hpp
274@@ -15,6 +15,7 @@
275 // Dependency:
276 #include "../glm.hpp"
277
278+#include "../experimental.hpp"
279 #ifndef GLM_ENABLE_EXPERIMENTAL
280 # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
281 #endif
282diff --git a/glm/gtx/extended_min_max.hpp b/glm/gtx/extended_min_max.hpp
283index 3e767b0c..0bcffcc6 100644
284--- a/glm/gtx/extended_min_max.hpp
285+++ b/glm/gtx/extended_min_max.hpp
286@@ -15,6 +15,7 @@
287 // Dependency:
288 #include "../glm.hpp"
289
290+#include "../experimental.hpp"
291 #ifndef GLM_ENABLE_EXPERIMENTAL
292 # error "GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
293 #endif
294diff --git a/glm/gtx/fast_exponential.hpp b/glm/gtx/fast_exponential.hpp
295index 2d4918e7..e6d11f0a 100644
296--- a/glm/gtx/fast_exponential.hpp
297+++ b/glm/gtx/fast_exponential.hpp
298@@ -16,6 +16,7 @@
299 // Dependency:
300 #include "../glm.hpp"
301
302+#include "../experimental.hpp"
303 #ifndef GLM_ENABLE_EXPERIMENTAL
304 # error "GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
305 #endif
306diff --git a/glm/gtx/fast_square_root.hpp b/glm/gtx/fast_square_root.hpp
307index 1e1ec3cf..f758aeef 100644
308--- a/glm/gtx/fast_square_root.hpp
309+++ b/glm/gtx/fast_square_root.hpp
310@@ -19,6 +19,7 @@
311 #include "../exponential.hpp"
312 #include "../geometric.hpp"
313
314+#include "../experimental.hpp"
315 #ifndef GLM_ENABLE_EXPERIMENTAL
316 # error "GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
317 #endif
318diff --git a/glm/gtx/fast_trigonometry.hpp b/glm/gtx/fast_trigonometry.hpp
319index 739065fb..f1332958 100644
320--- a/glm/gtx/fast_trigonometry.hpp
321+++ b/glm/gtx/fast_trigonometry.hpp
322@@ -15,6 +15,7 @@
323 // Dependency:
324 #include "../gtc/constants.hpp"
325
326+#include "../experimental.hpp"
327 #ifndef GLM_ENABLE_EXPERIMENTAL
328 # error "GLM: GLM_GTX_fast_trigonometry is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
329 #endif
330diff --git a/glm/gtx/gradient_paint.hpp b/glm/gtx/gradient_paint.hpp
331index 2713cec0..d4703991 100644
332--- a/glm/gtx/gradient_paint.hpp
333+++ b/glm/gtx/gradient_paint.hpp
334@@ -17,6 +17,7 @@
335 #include "../glm.hpp"
336 #include "../gtx/optimum_pow.hpp"
337
338+#include "../experimental.hpp"
339 #ifndef GLM_ENABLE_EXPERIMENTAL
340 # error "GLM: GLM_GTX_gradient_paint is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
341 #endif
342diff --git a/glm/gtx/handed_coordinate_space.hpp b/glm/gtx/handed_coordinate_space.hpp
343index 1d0d4104..3a52ddcf 100644
344--- a/glm/gtx/handed_coordinate_space.hpp
345+++ b/glm/gtx/handed_coordinate_space.hpp
346@@ -15,6 +15,7 @@
347 // Dependency:
348 #include "../glm.hpp"
349
350+#include "../experimental.hpp"
351 #ifndef GLM_ENABLE_EXPERIMENTAL
352 # error "GLM: GLM_GTX_handed_coordinate_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
353 #endif
354diff --git a/glm/gtx/hash.hpp b/glm/gtx/hash.hpp
355index fe8a3efd..92bfc9b2 100644
356--- a/glm/gtx/hash.hpp
357+++ b/glm/gtx/hash.hpp
358@@ -12,6 +12,7 @@
359
360 #pragma once
361
362+#include "../experimental.hpp"
363 #ifndef GLM_ENABLE_EXPERIMENTAL
364 # error "GLM: GLM_GTX_hash is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
365 #endif
366diff --git a/glm/gtx/integer.hpp b/glm/gtx/integer.hpp
367index 96637a13..5d1a16c6 100644
368--- a/glm/gtx/integer.hpp
369+++ b/glm/gtx/integer.hpp
370@@ -16,6 +16,7 @@
371 #include "../glm.hpp"
372 #include "../gtc/integer.hpp"
373
374+#include "../experimental.hpp"
375 #ifndef GLM_ENABLE_EXPERIMENTAL
376 # error "GLM: GLM_GTX_integer is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
377 #endif
378diff --git a/glm/gtx/intersect.hpp b/glm/gtx/intersect.hpp
379index 61e2226a..4895ba93 100644
380--- a/glm/gtx/intersect.hpp
381+++ b/glm/gtx/intersect.hpp
382@@ -21,6 +21,7 @@
383 #include "../gtx/closest_point.hpp"
384 #include "../gtx/vector_query.hpp"
385
386+#include "../experimental.hpp"
387 #ifndef GLM_ENABLE_EXPERIMENTAL
388 # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
389 #endif
390diff --git a/glm/gtx/io.hpp b/glm/gtx/io.hpp
391index 49a1ec11..ae39cd60 100644
392--- a/glm/gtx/io.hpp
393+++ b/glm/gtx/io.hpp
394@@ -23,6 +23,7 @@
395 #include "../glm.hpp"
396 #include "../gtx/quaternion.hpp"
397
398+#include "../experimental.hpp"
399 #ifndef GLM_ENABLE_EXPERIMENTAL
400 # error "GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
401 #endif
402diff --git a/glm/gtx/log_base.hpp b/glm/gtx/log_base.hpp
403index e873e356..45b8d53c 100644
404--- a/glm/gtx/log_base.hpp
405+++ b/glm/gtx/log_base.hpp
406@@ -15,6 +15,7 @@
407 // Dependency:
408 #include "../glm.hpp"
409
410+#include "../experimental.hpp"
411 #ifndef GLM_ENABLE_EXPERIMENTAL
412 # error "GLM: GLM_GTX_log_base is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
413 #endif
414diff --git a/glm/gtx/matrix_cross_product.hpp b/glm/gtx/matrix_cross_product.hpp
415index 967743b8..52d6c173 100644
416--- a/glm/gtx/matrix_cross_product.hpp
417+++ b/glm/gtx/matrix_cross_product.hpp
418@@ -16,6 +16,7 @@
419 // Dependency:
420 #include "../glm.hpp"
421
422+#include "../experimental.hpp"
423 #ifndef GLM_ENABLE_EXPERIMENTAL
424 # error "GLM: GLM_GTX_matrix_cross_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
425 #endif
426diff --git a/glm/gtx/matrix_decompose.hpp b/glm/gtx/matrix_decompose.hpp
427index b7ec0e83..6793fee2 100644
428--- a/glm/gtx/matrix_decompose.hpp
429+++ b/glm/gtx/matrix_decompose.hpp
430@@ -20,6 +20,7 @@
431 #include "../gtc/quaternion.hpp"
432 #include "../gtc/matrix_transform.hpp"
433
434+#include "../experimental.hpp"
435 #ifndef GLM_ENABLE_EXPERIMENTAL
436 # error "GLM: GLM_GTX_matrix_decompose is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
437 #endif
438diff --git a/glm/gtx/matrix_factorisation.hpp b/glm/gtx/matrix_factorisation.hpp
439index e30a7746..79c293be 100644
440--- a/glm/gtx/matrix_factorisation.hpp
441+++ b/glm/gtx/matrix_factorisation.hpp
442@@ -15,6 +15,7 @@
443 // Dependency:
444 #include "../glm.hpp"
445
446+#include "../experimental.hpp"
447 #ifndef GLM_ENABLE_EXPERIMENTAL
448 # error "GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
449 #endif
450diff --git a/glm/gtx/matrix_interpolation.hpp b/glm/gtx/matrix_interpolation.hpp
451index 89c4596c..799983bb 100644
452--- a/glm/gtx/matrix_interpolation.hpp
453+++ b/glm/gtx/matrix_interpolation.hpp
454@@ -16,6 +16,7 @@
455 // Dependency:
456 #include "../glm.hpp"
457
458+#include "../experimental.hpp"
459 #ifndef GLM_ENABLE_EXPERIMENTAL
460 # error "GLM: GLM_GTX_matrix_interpolation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
461 #endif
462diff --git a/glm/gtx/matrix_major_storage.hpp b/glm/gtx/matrix_major_storage.hpp
463index 7f264a59..e68467cd 100644
464--- a/glm/gtx/matrix_major_storage.hpp
465+++ b/glm/gtx/matrix_major_storage.hpp
466@@ -16,6 +16,7 @@
467 // Dependency:
468 #include "../glm.hpp"
469
470+#include "../experimental.hpp"
471 #ifndef GLM_ENABLE_EXPERIMENTAL
472 # error "GLM: GLM_GTX_matrix_major_storage is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
473 #endif
474diff --git a/glm/gtx/matrix_operation.hpp b/glm/gtx/matrix_operation.hpp
475index bce938bb..1e85bb5e 100644
476--- a/glm/gtx/matrix_operation.hpp
477+++ b/glm/gtx/matrix_operation.hpp
478@@ -15,6 +15,7 @@
479 // Dependency:
480 #include "../glm.hpp"
481
482+#include "../experimental.hpp"
483 #ifndef GLM_ENABLE_EXPERIMENTAL
484 # error "GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
485 #endif
486diff --git a/glm/gtx/matrix_query.hpp b/glm/gtx/matrix_query.hpp
487index 5df5f52f..eec1eec0 100644
488--- a/glm/gtx/matrix_query.hpp
489+++ b/glm/gtx/matrix_query.hpp
490@@ -18,6 +18,7 @@
491 #include "../gtx/vector_query.hpp"
492 #include <limits>
493
494+#include "../experimental.hpp"
495 #ifndef GLM_ENABLE_EXPERIMENTAL
496 # error "GLM: GLM_GTX_matrix_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
497 #endif
498diff --git a/glm/gtx/matrix_transform_2d.hpp b/glm/gtx/matrix_transform_2d.hpp
499index 239ab9f4..3ca8d2f2 100644
500--- a/glm/gtx/matrix_transform_2d.hpp
501+++ b/glm/gtx/matrix_transform_2d.hpp
502@@ -17,6 +17,7 @@
503 #include "../mat3x3.hpp"
504 #include "../vec2.hpp"
505
506+#include "../experimental.hpp"
507 #ifndef GLM_ENABLE_EXPERIMENTAL
508 # error "GLM: GLM_GTX_matrix_transform_2d is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
509 #endif
510diff --git a/glm/gtx/mixed_product.hpp b/glm/gtx/mixed_product.hpp
511index 58562aab..5c7460d5 100644
512--- a/glm/gtx/mixed_product.hpp
513+++ b/glm/gtx/mixed_product.hpp
514@@ -15,6 +15,7 @@
515 // Dependency:
516 #include "../glm.hpp"
517
518+#include "../experimental.hpp"
519 #ifndef GLM_ENABLE_EXPERIMENTAL
520 # error "GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
521 #endif
522diff --git a/glm/gtx/norm.hpp b/glm/gtx/norm.hpp
523index 46474e07..3cf2c3ea 100644
524--- a/glm/gtx/norm.hpp
525+++ b/glm/gtx/norm.hpp
526@@ -17,6 +17,7 @@
527 #include "../geometric.hpp"
528 #include "../gtx/quaternion.hpp"
529
530+#include "../experimental.hpp"
531 #ifndef GLM_ENABLE_EXPERIMENTAL
532 # error "GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
533 #endif
534diff --git a/glm/gtx/normal.hpp b/glm/gtx/normal.hpp
535index 15cec9c2..7bb4c096 100644
536--- a/glm/gtx/normal.hpp
537+++ b/glm/gtx/normal.hpp
538@@ -16,6 +16,7 @@
539 // Dependency:
540 #include "../glm.hpp"
541
542+#include "../experimental.hpp"
543 #ifndef GLM_ENABLE_EXPERIMENTAL
544 # error "GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
545 #endif
546diff --git a/glm/gtx/normalize_dot.hpp b/glm/gtx/normalize_dot.hpp
547index 86048e70..c6604da4 100644
548--- a/glm/gtx/normalize_dot.hpp
549+++ b/glm/gtx/normalize_dot.hpp
550@@ -16,6 +16,7 @@
551 // Dependency:
552 #include "../gtx/fast_square_root.hpp"
553
554+#include "../experimental.hpp"
555 #ifndef GLM_ENABLE_EXPERIMENTAL
556 # error "GLM: GLM_GTX_normalize_dot is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
557 #endif
558diff --git a/glm/gtx/number_precision.hpp b/glm/gtx/number_precision.hpp
559index 3732a56c..b48845f7 100644
560--- a/glm/gtx/number_precision.hpp
561+++ b/glm/gtx/number_precision.hpp
562@@ -18,6 +18,7 @@
563 #include "../glm.hpp"
564 #include "../gtc/type_precision.hpp"
565
566+#include "../experimental.hpp"
567 #ifndef GLM_ENABLE_EXPERIMENTAL
568 # error "GLM: GLM_GTX_number_precision is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
569 #endif
570diff --git a/glm/gtx/optimum_pow.hpp b/glm/gtx/optimum_pow.hpp
571index eb09f1c3..94a6bbb2 100644
572--- a/glm/gtx/optimum_pow.hpp
573+++ b/glm/gtx/optimum_pow.hpp
574@@ -15,6 +15,7 @@
575 // Dependency:
576 #include "../glm.hpp"
577
578+#include "../experimental.hpp"
579 #ifndef GLM_ENABLE_EXPERIMENTAL
580 # error "GLM: GLM_GTX_optimum_pow is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
581 #endif
582diff --git a/glm/gtx/orthonormalize.hpp b/glm/gtx/orthonormalize.hpp
583index 2a684ee4..4ff47e53 100644
584--- a/glm/gtx/orthonormalize.hpp
585+++ b/glm/gtx/orthonormalize.hpp
586@@ -18,6 +18,7 @@
587 #include "../mat3x3.hpp"
588 #include "../geometric.hpp"
589
590+#include "../experimental.hpp"
591 #ifndef GLM_ENABLE_EXPERIMENTAL
592 # error "GLM: GLM_GTX_orthonormalize is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
593 #endif
594diff --git a/glm/gtx/perpendicular.hpp b/glm/gtx/perpendicular.hpp
595index 35601ac7..17251ebe 100644
596--- a/glm/gtx/perpendicular.hpp
597+++ b/glm/gtx/perpendicular.hpp
598@@ -17,6 +17,7 @@
599 #include "../glm.hpp"
600 #include "../gtx/projection.hpp"
601
602+#include "../experimental.hpp"
603 #ifndef GLM_ENABLE_EXPERIMENTAL
604 # error "GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
605 #endif
606diff --git a/glm/gtx/polar_coordinates.hpp b/glm/gtx/polar_coordinates.hpp
607index b8421db4..5125215d 100644
608--- a/glm/gtx/polar_coordinates.hpp
609+++ b/glm/gtx/polar_coordinates.hpp
610@@ -15,6 +15,7 @@
611 // Dependency:
612 #include "../glm.hpp"
613
614+#include "../experimental.hpp"
615 #ifndef GLM_ENABLE_EXPERIMENTAL
616 # error "GLM: GLM_GTX_polar_coordinates is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
617 #endif
618diff --git a/glm/gtx/projection.hpp b/glm/gtx/projection.hpp
619index 9a24abf9..4d5bf76f 100644
620--- a/glm/gtx/projection.hpp
621+++ b/glm/gtx/projection.hpp
622@@ -15,6 +15,7 @@
623 // Dependency:
624 #include "../geometric.hpp"
625
626+#include "../experimental.hpp"
627 #ifndef GLM_ENABLE_EXPERIMENTAL
628 # error "GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
629 #endif
630diff --git a/glm/gtx/quaternion.hpp b/glm/gtx/quaternion.hpp
631index c3d99a5c..808ba0fd 100644
632--- a/glm/gtx/quaternion.hpp
633+++ b/glm/gtx/quaternion.hpp
634@@ -19,6 +19,7 @@
635 #include "../gtc/quaternion.hpp"
636 #include "../gtx/norm.hpp"
637
638+#include "../experimental.hpp"
639 #ifndef GLM_ENABLE_EXPERIMENTAL
640 # error "GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
641 #endif
642diff --git a/glm/gtx/range.hpp b/glm/gtx/range.hpp
643index e0ef46af..03c797c3 100644
644--- a/glm/gtx/range.hpp
645+++ b/glm/gtx/range.hpp
646@@ -15,6 +15,7 @@
647 // Dependencies
648 #include "../detail/setup.hpp"
649
650+#include "../experimental.hpp"
651 #ifndef GLM_ENABLE_EXPERIMENTAL
652 # error "GLM: GLM_GTX_range is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
653 #endif
654diff --git a/glm/gtx/raw_data.hpp b/glm/gtx/raw_data.hpp
655index fb34c8cb..0084fec6 100644
656--- a/glm/gtx/raw_data.hpp
657+++ b/glm/gtx/raw_data.hpp
658@@ -16,6 +16,7 @@
659 #include "../detail/setup.hpp"
660 #include "../detail/type_int.hpp"
661
662+#include "../experimental.hpp"
663 #ifndef GLM_ENABLE_EXPERIMENTAL
664 # error "GLM: GLM_GTX_raw_data is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
665 #endif
666diff --git a/glm/gtx/rotate_normalized_axis.hpp b/glm/gtx/rotate_normalized_axis.hpp
667index eee90d6e..82612928 100644
668--- a/glm/gtx/rotate_normalized_axis.hpp
669+++ b/glm/gtx/rotate_normalized_axis.hpp
670@@ -19,6 +19,7 @@
671 #include "../gtc/epsilon.hpp"
672 #include "../gtc/quaternion.hpp"
673
674+#include "../experimental.hpp"
675 #ifndef GLM_ENABLE_EXPERIMENTAL
676 # error "GLM: GLM_GTX_rotate_normalized_axis is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
677 #endif
678diff --git a/glm/gtx/rotate_vector.hpp b/glm/gtx/rotate_vector.hpp
679index c8ace89e..e954b041 100644
680--- a/glm/gtx/rotate_vector.hpp
681+++ b/glm/gtx/rotate_vector.hpp
682@@ -17,6 +17,7 @@
683 #include "../glm.hpp"
684 #include "../gtx/transform.hpp"
685
686+#include "../experimental.hpp"
687 #ifndef GLM_ENABLE_EXPERIMENTAL
688 # error "GLM: GLM_GTX_rotate_vector is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
689 #endif
690diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp
691index b73edf67..22baa52a 100644
692--- a/glm/gtx/scalar_multiplication.hpp
693+++ b/glm/gtx/scalar_multiplication.hpp
694@@ -16,6 +16,7 @@
695
696 #include "../detail/setup.hpp"
697
698+#include "../experimental.hpp"
699 #ifndef GLM_ENABLE_EXPERIMENTAL
700 # error "GLM: GLM_GTX_scalar_multiplication is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
701 #endif
702diff --git a/glm/gtx/scalar_relational.hpp b/glm/gtx/scalar_relational.hpp
703index 7fc8c1cc..f21f3b2b 100644
704--- a/glm/gtx/scalar_relational.hpp
705+++ b/glm/gtx/scalar_relational.hpp
706@@ -15,6 +15,7 @@
707 // Dependency:
708 #include "../glm.hpp"
709
710+#include "../experimental.hpp"
711 #ifndef GLM_ENABLE_EXPERIMENTAL
712 # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
713 #endif
714diff --git a/glm/gtx/spline.hpp b/glm/gtx/spline.hpp
715index f96d7e07..76359cfd 100644
716--- a/glm/gtx/spline.hpp
717+++ b/glm/gtx/spline.hpp
718@@ -16,6 +16,7 @@
719 #include "../glm.hpp"
720 #include "../gtx/optimum_pow.hpp"
721
722+#include "../experimental.hpp"
723 #ifndef GLM_ENABLE_EXPERIMENTAL
724 # error "GLM: GLM_GTX_spline is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
725 #endif
726diff --git a/glm/gtx/std_based_type.hpp b/glm/gtx/std_based_type.hpp
727index 55a2f074..92532b9e 100644
728--- a/glm/gtx/std_based_type.hpp
729+++ b/glm/gtx/std_based_type.hpp
730@@ -17,6 +17,7 @@
731 #include "../glm.hpp"
732 #include <cstdlib>
733
734+#include "../experimental.hpp"
735 #ifndef GLM_ENABLE_EXPERIMENTAL
736 # error "GLM: GLM_GTX_std_based_type is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
737 #endif
738diff --git a/glm/gtx/string_cast.hpp b/glm/gtx/string_cast.hpp
739index 4b4e280f..dfcd5085 100644
740--- a/glm/gtx/string_cast.hpp
741+++ b/glm/gtx/string_cast.hpp
742@@ -24,6 +24,7 @@
743 #include <string>
744 #include <cmath>
745
746+#include "../experimental.hpp"
747 #ifndef GLM_ENABLE_EXPERIMENTAL
748 # error "GLM: GLM_GTX_string_cast is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
749 #endif
750diff --git a/glm/gtx/texture.hpp b/glm/gtx/texture.hpp
751index 312bf398..7af185f6 100644
752--- a/glm/gtx/texture.hpp
753+++ b/glm/gtx/texture.hpp
754@@ -17,6 +17,7 @@
755 #include "../gtc/integer.hpp"
756 #include "../gtx/component_wise.hpp"
757
758+#include "../experimental.hpp"
759 #ifndef GLM_ENABLE_EXPERIMENTAL
760 # error "GLM: GLM_GTX_texture is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
761 #endif
762diff --git a/glm/gtx/transform.hpp b/glm/gtx/transform.hpp
763index d23b99ce..5a5d9619 100644
764--- a/glm/gtx/transform.hpp
765+++ b/glm/gtx/transform.hpp
766@@ -19,6 +19,7 @@
767 #include "../glm.hpp"
768 #include "../gtc/matrix_transform.hpp"
769
770+#include "../experimental.hpp"
771 #ifndef GLM_ENABLE_EXPERIMENTAL
772 # error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
773 #endif
774diff --git a/glm/gtx/transform2.hpp b/glm/gtx/transform2.hpp
775index 85f5bea4..5d7c83fc 100644
776--- a/glm/gtx/transform2.hpp
777+++ b/glm/gtx/transform2.hpp
778@@ -17,6 +17,7 @@
779 #include "../glm.hpp"
780 #include "../gtx/transform.hpp"
781
782+#include "../experimental.hpp"
783 #ifndef GLM_ENABLE_EXPERIMENTAL
784 # error "GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
785 #endif
786diff --git a/glm/gtx/type_aligned.hpp b/glm/gtx/type_aligned.hpp
787index 6ff9f276..6ad92fad 100644
788--- a/glm/gtx/type_aligned.hpp
789+++ b/glm/gtx/type_aligned.hpp
790@@ -18,6 +18,7 @@
791 // Dependency:
792 #include "../gtc/type_precision.hpp"
793
794+#include "../experimental.hpp"
795 #ifndef GLM_ENABLE_EXPERIMENTAL
796 # error "GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
797 #endif
798diff --git a/glm/gtx/type_trait.hpp b/glm/gtx/type_trait.hpp
799index 637bbd19..65519cab 100644
800--- a/glm/gtx/type_trait.hpp
801+++ b/glm/gtx/type_trait.hpp
802@@ -12,6 +12,7 @@
803
804 #pragma once
805
806+#include "../experimental.hpp"
807 #ifndef GLM_ENABLE_EXPERIMENTAL
808 # error "GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
809 #endif
810diff --git a/glm/gtx/vec_swizzle.hpp b/glm/gtx/vec_swizzle.hpp
811index daebac38..13d523dc 100644
812--- a/glm/gtx/vec_swizzle.hpp
813+++ b/glm/gtx/vec_swizzle.hpp
814@@ -14,6 +14,7 @@
815
816 #include "../glm.hpp"
817
818+#include "../experimental.hpp"
819 #ifndef GLM_ENABLE_EXPERIMENTAL
820 # error "GLM: GLM_GTX_vec_swizzle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
821 #endif
822diff --git a/glm/gtx/vector_angle.hpp b/glm/gtx/vector_angle.hpp
823index 401a47eb..98c9d110 100644
824--- a/glm/gtx/vector_angle.hpp
825+++ b/glm/gtx/vector_angle.hpp
826@@ -20,6 +20,7 @@
827 #include "../gtx/quaternion.hpp"
828 #include "../gtx/rotate_vector.hpp"
829
830+#include "../experimental.hpp"
831 #ifndef GLM_ENABLE_EXPERIMENTAL
832 # error "GLM: GLM_GTX_vector_angle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
833 #endif
834diff --git a/glm/gtx/vector_query.hpp b/glm/gtx/vector_query.hpp
835index 6560eaa5..5ab1ffda 100644
836--- a/glm/gtx/vector_query.hpp
837+++ b/glm/gtx/vector_query.hpp
838@@ -17,6 +17,7 @@
839 #include <cfloat>
840 #include <limits>
841
842+#include "../experimental.hpp"
843 #ifndef GLM_ENABLE_EXPERIMENTAL
844 # error "GLM: GLM_GTX_vector_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
845 #endif
846diff --git a/glm/gtx/wrap.hpp b/glm/gtx/wrap.hpp
847index 2c4b55df..5bf26a33 100644
848--- a/glm/gtx/wrap.hpp
849+++ b/glm/gtx/wrap.hpp
850@@ -16,6 +16,7 @@
851 #include "../glm.hpp"
852 #include "../gtc/vec1.hpp"
853
854+#include "../experimental.hpp"
855 #ifndef GLM_ENABLE_EXPERIMENTAL
856 # error "GLM: GLM_GTX_wrap is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
857 #endif
858--
8592.14.3
860