Просмотр исходного кода

Updated compiler version support

Christophe Riccio 14 лет назад
Родитель
Сommit
00d08369f8
1 измененных файлов с 66 добавлено и 2 удалено
  1. 66 2
      glm/core/setup.hpp

+ 66 - 2
glm/core/setup.hpp

@@ -164,6 +164,8 @@
 #define GLM_COMPILER_CUDA31			0x10000020
 #define GLM_COMPILER_CUDA31			0x10000020
 #define GLM_COMPILER_CUDA32			0x10000030
 #define GLM_COMPILER_CUDA32			0x10000030
 #define GLM_COMPILER_CUDA40			0x10000040
 #define GLM_COMPILER_CUDA40			0x10000040
+#define GLM_COMPILER_CUDA41			0x10000050
+#define GLM_COMPILER_CUDA42			0x10000060
 
 
 // Clang
 // Clang
 #define GLM_COMPILER_CLANG          0x20000000
 #define GLM_COMPILER_CLANG          0x20000000
@@ -171,17 +173,53 @@
 #define GLM_COMPILER_CLANG27		0x20000020
 #define GLM_COMPILER_CLANG27		0x20000020
 #define GLM_COMPILER_CLANG28		0x20000030
 #define GLM_COMPILER_CLANG28		0x20000030
 #define GLM_COMPILER_CLANG29		0x20000040
 #define GLM_COMPILER_CLANG29		0x20000040
+#define GLM_COMPILER_CLANG30		0x20000050
+#define GLM_COMPILER_CLANG31		0x20000060
+#define GLM_COMPILER_CLANG32		0x20000070
+#define GLM_COMPILER_CLANG33		0x20000080
 
 
 // LLVM GCC
 // LLVM GCC
 #define GLM_COMPILER_LLVM_GCC		0x40000000
 #define GLM_COMPILER_LLVM_GCC		0x40000000
 
 
+// Intel
+#define GLM_COMPILER_INTEL          0x80000000
+#define GLM_COMPILER_INTEL9			0x80000010
+#define GLM_COMPILER_INTEL10_0		0x80000020
+#define GLM_COMPILER_INTEL10_1		0x80000030
+#define GLM_COMPILER_INTEL11_0		0x80000040
+#define GLM_COMPILER_INTEL11_1		0x80000050
+#define GLM_COMPILER_INTEL12_0		0x80000060
+#define GLM_COMPILER_INTEL12_1		0x80000070
+#define GLM_COMPILER_INTEL13_0		0x80000080
+
 // Build model
 // Build model
 #define GLM_MODEL_32				0x00000010
 #define GLM_MODEL_32				0x00000010
 #define GLM_MODEL_64				0x00000020
 #define GLM_MODEL_64				0x00000020
 
 
 // Force generic C++ compiler
 // Force generic C++ compiler
 #ifdef GLM_FORCE_COMPILER_UNKNOWN
 #ifdef GLM_FORCE_COMPILER_UNKNOWN
-#		define GLM_COMPILER GLM_COMPILER_UNKNOWN
+#	define GLM_COMPILER GLM_COMPILER_UNKNOWN
+
+#elif defined(__INTEL_COMPILER)
+#	if __INTEL_COMPILER == 900
+#		define GLM_COMPILER GLM_COMPILER_INTEL9
+#	elif __INTEL_COMPILER == 1000
+#		define GLM_COMPILER GLM_COMPILER_INTEL10_0
+#	elif __INTEL_COMPILER == 1010
+#		define GLM_COMPILER GLM_COMPILER_INTEL10_1
+#	elif __INTEL_COMPILER == 1100
+#		define GLM_COMPILER GLM_COMPILER_INTEL11_0
+#	elif __INTEL_COMPILER == 1110
+#		define GLM_COMPILER GLM_COMPILER_INTEL11_1
+#	elif __INTEL_COMPILER == 1200
+#		define GLM_COMPILER GLM_COMPILER_INTEL12_0
+#	elif __INTEL_COMPILER == 1210
+#		define GLM_COMPILER GLM_COMPILER_INTEL12_1
+#	elif __INTEL_COMPILER == 1300
+#		define GLM_COMPILER GLM_COMPILER_INTEL13_0
+#	else
+#		define GLM_COMPILER GLM_COMPILER_INTEL
+#	endif
 
 
 // CUDA
 // CUDA
 #elif defined(__CUDACC__)
 #elif defined(__CUDACC__)
@@ -197,6 +235,10 @@
 #		define GLM_COMPILER GLM_COMPILER_CUDA32	
 #		define GLM_COMPILER GLM_COMPILER_CUDA32	
 #	elif CUDA_VERSION == 4000
 #	elif CUDA_VERSION == 4000
 #		define GLM_COMPILER GLM_COMPILER_CUDA40	
 #		define GLM_COMPILER GLM_COMPILER_CUDA40	
+#	elif CUDA_VERSION == 4010
+#		define GLM_COMPILER GLM_COMPILER_CUDA41	
+#	elif CUDA_VERSION == 4020
+#		define GLM_COMPILER GLM_COMPILER_CUDA42
 #	else
 #	else
 #		define GLM_COMPILER GLM_COMPILER_CUDA
 #		define GLM_COMPILER GLM_COMPILER_CUDA
 #	endif
 #	endif
@@ -228,7 +270,29 @@
 #		define GLM_COMPILER GLM_COMPILER_VC
 #		define GLM_COMPILER GLM_COMPILER_VC
 #	endif//_MSC_VER
 #	endif//_MSC_VER
 
 
-// G++
+// Clang
+#elif defined(__clang__)
+#	if(CLANG_VERSION_MAJOR == 2) && (CLANG_VERSION_MINOR == 6)
+#		define GLM_COMPILER GLM_COMPILER_CLANG26
+#	elif(CLANG_VERSION_MAJOR == 2) && (CLANG_VERSION_MINOR == 7)
+#		define GLM_COMPILER GLM_COMPILER_CLANG27
+#	elif(CLANG_VERSION_MAJOR == 2) && (CLANG_VERSION_MINOR == 8)
+#		define GLM_COMPILER GLM_COMPILER_CLANG28
+#	elif(CLANG_VERSION_MAJOR == 2) && (CLANG_VERSION_MINOR == 9)
+#		define GLM_COMPILER GLM_COMPILER_CLANG29
+#	elif(CLANG_VERSION_MAJOR == 3) && (CLANG_VERSION_MINOR == 0)
+#		define GLM_COMPILER GLM_COMPILER_CLANG30
+#	elif(CLANG_VERSION_MAJOR == 3) && (CLANG_VERSION_MINOR == 1)
+#		define GLM_COMPILER GLM_COMPILER_CLANG31
+#	elif(CLANG_VERSION_MAJOR == 3) && (CLANG_VERSION_MINOR == 2)
+#		define GLM_COMPILER GLM_COMPILER_CLANG32
+#	elif(CLANG_VERSION_MAJOR == 3) && (CLANG_VERSION_MINOR == 3)
+#		define GLM_COMPILER GLM_COMPILER_CLANG33
+#	else
+#		define GLM_COMPILER GLM_COMPILER_CLANG
+#   endif
+
+// G++ 
 #elif defined(__GNUC__)// || defined(__llvm__) || defined(__clang__)
 #elif defined(__GNUC__)// || defined(__llvm__) || defined(__clang__)
 #   if defined (__llvm__)
 #   if defined (__llvm__)
 #       define GLM_COMPILER_GCC_EXTRA GLM_COMPILER_GCC_LLVM
 #       define GLM_COMPILER_GCC_EXTRA GLM_COMPILER_GCC_LLVM