Browse Source

Merge branch '0.9.3' of github.com:Groovounet/glm into 0.9.3

Christophe Riccio 13 years ago
parent
commit
17eb14125a
4 changed files with 76 additions and 15 deletions
  1. 68 13
      CMakeLists.txt
  2. 7 0
      readme.txt
  3. 1 1
      test/external/gli/gtx/loader_tga.inl
  4. 0 1
      test/gtx/gtx_string_cast.cpp

+ 68 - 13
CMakeLists.txt

@@ -6,18 +6,78 @@ enable_testing()
 
 add_definitions(-D_CRT_SECURE_NO_WARNINGS)
 
+option(GLM_TEST_ENABLE "GLM test" OFF)
+if(NOT GLM_TEST_ENABLE)
+	message(FATAL_ERROR "GLM is a header only library, no need to build it. Set the option GLM_TEST_ENABLE with ON to build and run the test bench")
+endif()
+
+option(GLM_TEST_ENABLE_CXX_11 "Enable C++ 11" OFF)
+if(GLM_TEST_ENABLE_CXX_11)
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-std=c++11)
+	endif()
+elseif(NOT GLM_TEST_ENABLE_CXX_11)
+	add_definitions(-DGLM_FORCE_CXX98)
+
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-std=c++98)
+	endif()
+endif()
+
+option(GLM_TEST_ENABLE_MS_EXTENSIONS "Enable MS extensions" OFF)
+if(GLM_TEST_ENABLE_MS_EXTENSIONS)
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-fms-extensions)
+		add_definitions(-D_MSC_EXTENSIONS)
+	endif()
+elseif(NOT GLM_TEST_ENABLE_MS_EXTENSIONS)
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-std=c++98)
+		add_definitions(-pedantic)
+	endif()
+
+	if(MSVC)
+		add_definitions(/Za)	
+	endif()
+endif()
+
+option(GLM_TEST_ENABLE_SIMD "Enable SIMD optimizations" OFF)
+if(GLM_TEST_ENABLE_SIMD)
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-msse2)
+	endif()
+
+	if(MSVC)
+		add_definitions(/arch:SSE2)	
+	endif()
+elseif(NOT GLM_TEST_ENABLE_SIMD)
+	
+	add_definitions(-DGLM_FORCE_PURE)
+
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-mfpmath=387)
+	endif()
+endif()
+
+option(GLM_TEST_ENABLE_FAST_MATH "Enable fast math optimizations" OFF)
+if(GLM_TEST_ENABLE_FAST_MATH)
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-ffast-math)
+	endif()
+
+	if(MSVC)
+		add_definitions(/fp:fast)	
+	endif()
+elseif(NOT GLM_TEST_ENABLE_FAST_MATH)
+	if(MSVC)
+		add_definitions(/fp:precise)	
+	endif()
+endif()
+
 if(CMAKE_COMPILER_IS_GNUCXX)
-	#add_definitions(/Za)
-	#add_definitions(-pedantic)
 	#add_definitions(-S)
 	#add_definitions(-s)
-	#add_definitions(-msse2)
-	#add_definitions(-std=c++0x)
-	#add_definitions(-fms-extensions)
-	#add_definitions(-D_MSC_EXTENSIONS)
 	#add_definitions(-m32)
-	#add_definitions(-mfpmath=387)
-	#add_definitions(-ffast-math)
 	#add_definitions(-O3)
     
     #add_definitions(-fprofile-arcs -ftest-coverage) gcov
@@ -32,9 +92,4 @@ add_subdirectory(test)
 add_subdirectory(bench)
 add_subdirectory(doc)
 
-option(GLM_TEST_MODE "GLM test" OFF)
-if(NOT GLM_TEST_MODE)
-	message(FATAL_ERROR "GLM is a header only library, no need to build it. Set the option GLM_TEST_MODE with ON to build and run the test bench")
-endif()
-
 install(DIRECTORY glm DESTINATION include)

+ 7 - 0
readme.txt

@@ -36,6 +36,13 @@ GLM is a header only library, there is nothing to build, just include it.
 More informations in GLM manual:
 http://glm.g-truc.net/glm-0.9.3.pdf
 
+================================================================================
+GLM 0.9.3.3: 2012-04-XX
+--------------------------------------------------------------------------------
+- Improved compatibility with Intel compiler
+- Added CMake test build options: SIMD, C++11, fast math and MS land ext
+- Fixed SIMD mat4 test on GCC
+
 ================================================================================
 GLM 0.9.3.2: 2012-03-15
 --------------------------------------------------------------------------------

+ 1 - 1
test/external/gli/gtx/loader_tga.inl

@@ -156,4 +156,4 @@ namespace loader_tga
 	}
 }//namespace loader_tga
 }//namespace gtx
-}//namespace gli
+}//namespace gli

+ 0 - 1
test/gtx/gtx_string_cast.cpp

@@ -7,7 +7,6 @@
 // File    : test/gtx/string_cast.cpp
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-#define GLM_MESSAGES
 #include <glm/glm.hpp>
 #include <glm/gtx/string_cast.hpp>
 #include <iostream>