C++11: Do CMake-less C++11 checking.

This commit is contained in:
Hans-Christian Ebke
2015-11-10 14:59:43 +01:00
parent d147b6cf66
commit dfcc98c845
6 changed files with 11 additions and 106 deletions

View File

@@ -22,16 +22,6 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
# set additional link directories
link_directories(${GTEST_LIBRARY_DIR} )
set(INHIBIT_CXX11_SUPPORT OFF CACHE BOOL "Do not use C++11 even if it is available. (This is mainly useful for unit testing.)")
if (NOT INHIBIT_CXX11_SUPPORT)
find_package (CXX11)
if (CXX11_FOUND)
add_definitions(${CXX11_FLAGS} -DCPP11_ENABLED)
endif (CXX11_FOUND)
endif (NOT INHIBIT_CXX11_SUPPORT)
if ( CMAKE_GENERATOR MATCHES "^Visual Studio 11.*" )
add_definitions( /D _VARIADIC_MAX=10 )
endif()

View File

@@ -83,7 +83,7 @@ TEST_F(OpenMeshVectorTest, VectorCasting) {
}
#ifdef CPP11_ENABLED
#if __cplusplus > 199711L || defined(__GXX_EXPERIMENTAL_CXX0X__)
TEST_F(OpenMeshVectorTest, cpp11_constructors) {
OpenMesh::Vec3d vec1 { 1.2, 2.0, 3.0 };
@@ -113,6 +113,8 @@ TEST_F(OpenMeshVectorTest, cpp11_constructors) {
}
TEST_F(OpenMeshVectorTest, cpp11_htmlColorLiteral) {
static constexpr OpenMesh::Vec4f rose = 0xFFC7F1FF_htmlColor;
const OpenMesh::Vec4f light_blue = 0x1FCFFFFF_htmlColor;
EXPECT_LE((OpenMesh::Vec4f(0.1215686274f, 0.8117647058f, 1.0f, 1.0f)
- light_blue).sqrnorm(), 1e-10);