Improved compiler detection
This commit is contained in:
parent
98567e5113
commit
c99e2f523f
@ -1535,7 +1535,11 @@
|
|||||||
This library works perfectly with OpenGL but it also ensures interoperability with other third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library.
|
This library works perfectly with OpenGL but it also ensures interoperability with other third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library.
|
||||||
</paragraph>
|
</paragraph>
|
||||||
<list name="GLM is written as a platform independent library with no dependence and officially supports the following compilers:">
|
<list name="GLM is written as a platform independent library with no dependence and officially supports the following compilers:">
|
||||||
<list-element><link href="http://http://gcc.gnu.org/">GCC</link> 3.4 and higher</list-element>
|
<list-element><link href="http://clang.llvm.org">Clang</link> 2.0 and higher</list-element>
|
||||||
|
<list-element>
|
||||||
|
<link href="http://developer.nvidia.com/category/zone/cuda-zone">CUDA</link> 3.0 and higher
|
||||||
|
</list-element>
|
||||||
|
<list-element><link href="http://gcc.gnu.org/">GCC</link> 3.4 and higher</list-element>
|
||||||
<list-element><link href="http://llvm.org/">LLVM</link> 2.3 through GCC 4.2 front-end and higher</list-element>
|
<list-element><link href="http://llvm.org/">LLVM</link> 2.3 through GCC 4.2 front-end and higher</list-element>
|
||||||
<list-element><link href="http://msdn.microsoft.com/en-us/visualc/default">Visual C++</link> 2005 and higher</list-element>
|
<list-element><link href="http://msdn.microsoft.com/en-us/visualc/default">Visual C++</link> 2005 and higher</list-element>
|
||||||
<list-element>Any C++ compiler following C++98 norm</list-element>
|
<list-element>Any C++ compiler following C++98 norm</list-element>
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
// Compiler
|
// Compiler
|
||||||
|
|
||||||
// User defines: GLM_FORCE_COMPILER_UNKNOWN
|
// User defines: GLM_FORCE_COMPILER_UNKNOWN
|
||||||
// TODO ? __llvm__ __clang__
|
// TODO ? __llvm__
|
||||||
|
|
||||||
#define GLM_COMPILER_UNKNOWN 0x00000000
|
#define GLM_COMPILER_UNKNOWN 0x00000000
|
||||||
|
|
||||||
@ -82,6 +82,16 @@
|
|||||||
#define GLM_COMPILER_CUDA32 0x10000030
|
#define GLM_COMPILER_CUDA32 0x10000030
|
||||||
#define GLM_COMPILER_CUDA40 0x10000040
|
#define GLM_COMPILER_CUDA40 0x10000040
|
||||||
|
|
||||||
|
// Clang
|
||||||
|
#define GLM_COMPILER_CLANG 0x20000000
|
||||||
|
#define GLM_COMPILER_CLANG26 0x20000010
|
||||||
|
#define GLM_COMPILER_CLANG27 0x20000020
|
||||||
|
#define GLM_COMPILER_CLANG28 0x20000030
|
||||||
|
#define GLM_COMPILER_CLANG29 0x20000040
|
||||||
|
|
||||||
|
// LLVM GCC
|
||||||
|
#define GLM_COMPILER_LLVM_GCC 0x40000000
|
||||||
|
|
||||||
// Build model
|
// Build model
|
||||||
#define GLM_MODEL_32 0x00000010
|
#define GLM_MODEL_32 0x00000010
|
||||||
#define GLM_MODEL_64 0x00000020
|
#define GLM_MODEL_64 0x00000020
|
||||||
@ -120,6 +130,20 @@
|
|||||||
# define GLM_COMPILER GLM_COMPILER_VC
|
# define GLM_COMPILER GLM_COMPILER_VC
|
||||||
# endif//_MSC_VER
|
# endif//_MSC_VER
|
||||||
|
|
||||||
|
#elif defined(__clang__)
|
||||||
|
# if (__clang_major__ == 2) && (__clang_minor__ == 6)
|
||||||
|
# define GLM_COMPILER GLM_COMPILER_CLANG26
|
||||||
|
# elif (__clang_major__ == 2) && (__clang_minor__ == 7)
|
||||||
|
# define GLM_COMPILER GLM_COMPILER_CLANG27
|
||||||
|
# elif (__clang_major__ == 2) && (__clang_minor__ == 8)
|
||||||
|
# define GLM_COMPILER GLM_COMPILER_CLANG28
|
||||||
|
# elif (__clang_major__ == 2) && (__clang_minor__ == 9)
|
||||||
|
# define GLM_COMPILER GLM_COMPILER_CLANG29
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__llvm__)
|
||||||
|
# define GLM_COMPILER GLM_COMPILER_LLVM_GCC
|
||||||
|
|
||||||
// G++
|
// G++
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
# if (__GNUC__ == 3) && (__GNUC_MINOR__ == 2)
|
# if (__GNUC__ == 3) && (__GNUC_MINOR__ == 2)
|
||||||
@ -189,6 +213,10 @@
|
|||||||
# pragma message("GLM: CUDA compiler detected")
|
# pragma message("GLM: CUDA compiler detected")
|
||||||
# elif(GLM_COMPILER & GLM_COMPILER_VC)
|
# elif(GLM_COMPILER & GLM_COMPILER_VC)
|
||||||
# pragma message("GLM: Visual C++ compiler detected")
|
# pragma message("GLM: Visual C++ compiler detected")
|
||||||
|
# elif(GLM_COMPILER & GLM_COMPILER_CLANG)
|
||||||
|
# pragma message("GLM: Clang compiler detected")
|
||||||
|
# elif(GLM_COMPILER & GLM_COMPILER_LLVM_GCC)
|
||||||
|
# pragma message("GLM: LLVM GCC compiler detected")
|
||||||
# elif(GLM_COMPILER & GLM_COMPILER_GCC)
|
# elif(GLM_COMPILER & GLM_COMPILER_GCC)
|
||||||
# pragma message("GLM: GCC compiler detected")
|
# pragma message("GLM: GCC compiler detected")
|
||||||
# elif(GLM_COMPILER & GLM_COMPILER_BC)
|
# elif(GLM_COMPILER & GLM_COMPILER_BC)
|
||||||
|
@ -17,6 +17,7 @@ http://glm.g-truc.net/glm-0.9.2.pdf
|
|||||||
GLM 0.9.2.1: 2010-05-20
|
GLM 0.9.2.1: 2010-05-20
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
- Automatically detect CUDA support
|
- Automatically detect CUDA support
|
||||||
|
- Improved Clang detection
|
||||||
- Fixed errors and warnings in VC with C++ extensions disabled
|
- Fixed errors and warnings in VC with C++ extensions disabled
|
||||||
- Fixed and tested GLM_GTX_vector_angle
|
- Fixed and tested GLM_GTX_vector_angle
|
||||||
- Fixed and tested GLM_GTX_rotate_vector
|
- Fixed and tested GLM_GTX_rotate_vector
|
||||||
|
Loading…
x
Reference in New Issue
Block a user