|
|
|
@ -127,8 +127,9 @@ |
|
|
|
|
#define GLM_LANG_CXX11_FLAG (1 << 4) |
|
|
|
|
#define GLM_LANG_CXX14_FLAG (1 << 5) |
|
|
|
|
#define GLM_LANG_CXX17_FLAG (1 << 6) |
|
|
|
|
#define GLM_LANG_CXXMS_FLAG (1 << 7) |
|
|
|
|
#define GLM_LANG_CXXGNU_FLAG (1 << 8) |
|
|
|
|
#define GLM_LANG_CXX2A_FLAG (1 << 7) |
|
|
|
|
#define GLM_LANG_CXXMS_FLAG (1 << 8) |
|
|
|
|
#define GLM_LANG_CXXGNU_FLAG (1 << 9) |
|
|
|
|
|
|
|
|
|
#define GLM_LANG_CXX98 GLM_LANG_CXX98_FLAG |
|
|
|
|
#define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG) |
|
|
|
@ -136,6 +137,7 @@ |
|
|
|
|
#define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG) |
|
|
|
|
#define GLM_LANG_CXX14 (GLM_LANG_CXX11 | GLM_LANG_CXX14_FLAG) |
|
|
|
|
#define GLM_LANG_CXX17 (GLM_LANG_CXX14 | GLM_LANG_CXX17_FLAG) |
|
|
|
|
#define GLM_LANG_CXX2A (GLM_LANG_CXX17 | GLM_LANG_CXX2A_FLAG) |
|
|
|
|
#define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG |
|
|
|
|
#define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG |
|
|
|
|
|
|
|
|
@ -146,14 +148,23 @@ |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifdef _MSVC_LANG |
|
|
|
|
# if _MSVC_LANG == 201703 |
|
|
|
|
# define GLM_FORCE_CXX17 |
|
|
|
|
# elif _MSVC_LANG == 201402 |
|
|
|
|
# if _MSVC_LANG == 201402 |
|
|
|
|
# define GLM_FORCE_CXX14 |
|
|
|
|
# elif _MSVC_LANG == 201703 |
|
|
|
|
# define GLM_FORCE_CXX17 |
|
|
|
|
# elif _MSVC_LANG > 201703 |
|
|
|
|
# define GLM_FORCE_CXX2A |
|
|
|
|
# endif |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if defined(GLM_FORCE_CXX17) |
|
|
|
|
#if defined(GLM_FORCE_CXX2A) |
|
|
|
|
# if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_FORCE_CXX2A_DISPLAYED) |
|
|
|
|
# define GLM_MESSAGE_FORCE_CXX2A_DISPLAYED |
|
|
|
|
# pragma message("GLM: Force the use of C++2a only") |
|
|
|
|
# endif//GLM_MESSAGES
|
|
|
|
|
# define GLM_LANG (GLM_LANG_CXX2A | GLM_MSC_EXT) |
|
|
|
|
# define GLM_LANG_STL11_FORCED |
|
|
|
|
#elif defined(GLM_FORCE_CXX17) |
|
|
|
|
# if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_FORCE_CXX17_DISPLAYED) |
|
|
|
|
# define GLM_MESSAGE_FORCE_CXX17_DISPLAYED |
|
|
|
|
# if (__cplusplus >= 201703L) || ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15_7)) || ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC80)) || ((GLM_COMPILER & GLM_COMPILER_CLANG) && (GLM_COMPILER >= GLM_COMPILER_CLANG50)) |
|
|
|
@ -248,7 +259,6 @@ |
|
|
|
|
# endif |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_CXX11_STL ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
|
|
((GLM_PLATFORM != GLM_PLATFORM_WINDOWS) && (GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)))) |
|
|
|
|
#endif |
|
|
|
@ -260,7 +270,6 @@ |
|
|
|
|
# define GLM_HAS_STATIC_ASSERT 1 |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_STATIC_ASSERT ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC)))) |
|
|
|
|
#endif |
|
|
|
@ -272,7 +281,6 @@ |
|
|
|
|
# define GLM_HAS_EXTENDED_INTEGER_TYPE (\ |
|
|
|
|
((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC)) || \
|
|
|
|
|
((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CUDA)) || \
|
|
|
|
|
((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
|
|
((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG))) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
@ -283,7 +291,6 @@ |
|
|
|
|
# define GLM_HAS_INITIALIZER_LISTS 1 |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_INITIALIZER_LISTS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA75)))) |
|
|
|
@ -297,8 +304,7 @@ |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_UNRESTRICTED_UNIONS (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
(GLM_COMPILER & GLM_COMPILER_VC) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA75)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46))) |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA75))) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
// N2346
|
|
|
|
@ -310,7 +316,6 @@ |
|
|
|
|
# define GLM_HAS_DEFAULTED_FUNCTIONS 1 |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_DEFAULTED_FUNCTIONS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
|
|
|
|
|
(GLM_COMPILER & GLM_COMPILER_CUDA))) |
|
|
|
@ -323,7 +328,6 @@ |
|
|
|
|
# define GLM_HAS_RVALUE_REFERENCES 1 |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_RVALUE_REFERENCES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA)))) |
|
|
|
|
#endif |
|
|
|
@ -335,7 +339,6 @@ |
|
|
|
|
# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS 1 |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA)))) |
|
|
|
@ -349,7 +352,6 @@ |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_TEMPLATE_ALIASES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC47)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA)))) |
|
|
|
|
#endif |
|
|
|
@ -361,7 +363,6 @@ |
|
|
|
|
# define GLM_HAS_RANGE_FOR 1 |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_RANGE_FOR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA)))) |
|
|
|
@ -374,7 +375,6 @@ |
|
|
|
|
# define GLM_HAS_ALIGNOF 1 |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_ALIGNOF ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA70)))) |
|
|
|
@ -389,7 +389,6 @@ |
|
|
|
|
// GCC 4.6 support constexpr but there is a compiler bug causing a crash
|
|
|
|
|
// Visual C++ has a bug #594 https://github.com/g-truc/glm/issues/594
|
|
|
|
|
# define GLM_HAS_CONSTEXPR_CXX11 ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_ARCH == GLM_ARCH_PURE) && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14)))) |
|
|
|
|
#endif |
|
|
|
@ -407,7 +406,6 @@ |
|
|
|
|
# define GLM_HAS_CONSTEXPR_CXX14 1 |
|
|
|
|
#else |
|
|
|
|
# define GLM_HAS_CONSTEXPR_CXX14 ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_ARCH == GLM_ARCH_PURE) && GLM_HAS_INITIALIZER_LISTS && (\ |
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC50)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL17)) || \
|
|
|
|
|
((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)))) |
|
|
|
|
#endif |
|
|
|
|