Skip to content

Commit

Permalink
Added CMake test build options
Browse files Browse the repository at this point in the history
  • Loading branch information
Christophe Riccio committed Apr 14, 2012
1 parent ac768ea commit 4585395
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 15 deletions.
81 changes: 68 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 changes: 7 additions & 0 deletions readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
--------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion test/external/gli/gtx/loader_tga.inl
Original file line number Diff line number Diff line change
Expand Up @@ -156,4 +156,4 @@ namespace loader_tga
}
}//namespace loader_tga
}//namespace gtx
}//namespace gli
}//namespace gli
1 change: 0 additions & 1 deletion test/gtx/gtx_string_cast.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down

0 comments on commit 4585395

Please sign in to comment.