Browse Source

Clean up GLM_MESSAGES compilation log to report only detected capabilities

Christophe Riccio 11 years ago
parent
commit
5331b67ad0
3 changed files with 25 additions and 16 deletions
  1. 21 15
      glm/detail/setup.hpp
  2. 4 0
      readme.txt
  3. 0 1
      test/core/core_setup_force_cxx98.cpp

+ 21 - 15
glm/detail/setup.hpp

@@ -329,7 +329,7 @@
 ///////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////
 // C++ Version
 // C++ Version
 
 
-// User defines: GLM_FORCE_CXX98
+// User defines: GLM_FORCE_CXX98, GLM_FORCE_CXX11, GLM_FORCE_CXX14
 
 
 #define GLM_LANG_CXX98_FLAG			(1 << 1)
 #define GLM_LANG_CXX98_FLAG			(1 << 1)
 #define GLM_LANG_CXX03_FLAG			(1 << 2)
 #define GLM_LANG_CXX03_FLAG			(1 << 2)
@@ -462,10 +462,13 @@
 
 
 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED)
 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED)
 #	define GLM_MESSAGE_LANG_DISPLAYED
 #	define GLM_MESSAGE_LANG_DISPLAYED
-#	if GLM_LANG & GLM_LANG_CXXGNU_FLAG
-#		pragma message("GLM: C++ with language extensions")
-#	elif GLM_LANG & GLM_LANG_CXXMS_FLAG
-#		pragma message("GLM: C++ with language extensions")
+
+#	if GLM_LANG & GLM_LANG_CXX1Z_FLAG
+#		pragma message("GLM: C++1z")
+#	elif GLM_LANG & GLM_LANG_CXX14_FLAG
+#		pragma message("GLM: C++14")
+#	elif GLM_LANG & GLM_LANG_CXX1Y_FLAG
+#		pragma message("GLM: C++1y")
 #	elif GLM_LANG & GLM_LANG_CXX11_FLAG
 #	elif GLM_LANG & GLM_LANG_CXX11_FLAG
 #		pragma message("GLM: C++11")
 #		pragma message("GLM: C++11")
 #	elif GLM_LANG & GLM_LANG_CXX0X_FLAG
 #	elif GLM_LANG & GLM_LANG_CXX0X_FLAG
@@ -476,8 +479,11 @@
 #		pragma message("GLM: C++98")
 #		pragma message("GLM: C++98")
 #	else
 #	else
 #		pragma message("GLM: C++ language undetected")
 #		pragma message("GLM: C++ language undetected")
-#	endif//GLM_MODEL
-#	pragma message("GLM: #define GLM_FORCE_CXX98, GLM_FORCE_CXX03, GLM_LANG_CXX11 or GLM_FORCE_CXX1Y to force using a specific version of the C++ language")
+#	endif//GLM_LANG
+
+#	if GLM_LANG & (GLM_LANG_CXXGNU_FLAG | GLM_LANG_CXXMS_FLAG)
+#		pragma message("GLM: Language extensions enabled")
+#	endif//GLM_LANG
 #endif//GLM_MESSAGE
 #endif//GLM_MESSAGE
 
 
 ///////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////
@@ -721,7 +727,6 @@
 #	elif(GLM_ARCH & GLM_ARCH_SSE2)
 #	elif(GLM_ARCH & GLM_ARCH_SSE2)
 #		pragma message("GLM: SSE2 instruction set")
 #		pragma message("GLM: SSE2 instruction set")
 #	endif//GLM_ARCH
 #	endif//GLM_ARCH
-#	pragma message("GLM: #define GLM_FORCE_PURE to avoid using platform specific instruction sets")
 #endif//GLM_MESSAGE
 #endif//GLM_MESSAGE
 
 
 ///////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////
@@ -831,11 +836,11 @@
 namespace glm
 namespace glm
 {
 {
 	using std::size_t;
 	using std::size_t;
-#if defined(GLM_FORCE_SIZE_T_LENGTH) || defined(GLM_FORCE_SIZE_FUNC)
-	typedef size_t length_t;
-#else
-	typedef int length_t;
-#endif
+#	if defined(GLM_FORCE_SIZE_T_LENGTH) || defined(GLM_FORCE_SIZE_FUNC)
+		typedef size_t length_t;
+#	else
+		typedef int length_t;
+#	endif
 
 
 namespace detail
 namespace detail
 {
 {
@@ -859,11 +864,12 @@ namespace detail
 
 
 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH)
 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH)
 #	define GLM_MESSAGE_FORCE_SIZE_T_LENGTH
 #	define GLM_MESSAGE_FORCE_SIZE_T_LENGTH
-#	if defined(GLM_FORCE_SIZE_T_LENGTH)
+#	if defined GLM_FORCE_SIZE_FUNC
+#		pragma message("GLM: .length() is replaced by .size() and returns a std::size_t")
+#	elif defined GLM_FORCE_SIZE_T_LENGTH
 #		pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t")
 #		pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t")
 #	else
 #	else
 #		pragma message("GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification")
 #		pragma message("GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification")
-#		pragma message("GLM: #define GLM_FORCE_SIZE_T_LENGTH for .length() to return a size_t")
 #	endif
 #	endif
 #endif//GLM_MESSAGE
 #endif//GLM_MESSAGE
 
 

+ 4 - 0
readme.txt

@@ -69,6 +69,9 @@ Features:
 - Added GLM_LANG_CXX14_FLAG and GLM_LANG_CXX1Z_FLAG language feature flags
 - Added GLM_LANG_CXX14_FLAG and GLM_LANG_CXX1Z_FLAG language feature flags
 - Added C++14 detection
 - Added C++14 detection
 
 
+Improvements:
+- Clean up GLM_MESSAGES compilation log to report only detected capabilities
+
 Fixes:
 Fixes:
 - Fixed scalar uaddCarry build error with Cuda #276
 - Fixed scalar uaddCarry build error with Cuda #276
 - Fixed C++11 explicit conversion operators detection #282
 - Fixed C++11 explicit conversion operators detection #282
@@ -77,6 +80,7 @@ Fixes:
 - Fixed Android build issue, STL C++11 is not supported by the NDK #284
 - Fixed Android build issue, STL C++11 is not supported by the NDK #284
 - Fixed unsupported _BitScanForward64 and _BitScanReverse64 in VC10
 - Fixed unsupported _BitScanForward64 and _BitScanReverse64 in VC10
 - Fixed Visual C++ 32 bit build #283
 - Fixed Visual C++ 32 bit build #283
+- Fixed GLM_FORCE_SIZE_FUNC pragma message
 
 
 ================================================================================
 ================================================================================
 GLM 0.9.6.0: 2014-11-30
 GLM 0.9.6.0: 2014-11-30

+ 0 - 1
test/core/core_setup_force_cxx98.cpp

@@ -30,7 +30,6 @@
 /// @author Christophe Riccio
 /// @author Christophe Riccio
 ///////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////
 
 
-#define GLM_FORCE_PURE
 #define GLM_FORCE_CXX98
 #define GLM_FORCE_CXX98
 #include <glm/glm.hpp>
 #include <glm/glm.hpp>
 #include <glm/ext.hpp>
 #include <glm/ext.hpp>