From d8dfba8361bf5cfd47f8de3e91ae4c15272a3718 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Sat, 5 Mar 2016 20:16:32 +0900 Subject: [PATCH] Fixed support for Clang Minor addition to unit tests. --- src/CMakeLists.txt | 9 ++++++--- src/test/MetaTest.cpp | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ba94a0b..944a724 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,17 +19,20 @@ target_include_directories(EntityComponentSystem INTERFACE ${CMAKE_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}) -set(CMAKE_CXX_FLAGS "-std=c++14 -Wall -Wextra") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wextra") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -D NDEBUG") if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") - execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) + execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT (GCC_VERSION VERSION_GREATER 5.0 OR GCC_VERSION VERSION_EQUAL 5.0)) message(FATAL_ERROR "${PROJECT_NAME} requires g++ 5.0 or greater.") endif () elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE CLANG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT (CLANG_VERSION VERSION_GREATER 3.4 OR CLANG_VERSION VERSION_EQUAL 3.4)) + message(FATAL_ERROR "${PROJECT_NAME} requires clang 3.4 or greater.") + endif() elseif(MSVC) else() message(FATAL_ERROR "Your C++ compiler does not support C++14.") diff --git a/src/test/MetaTest.cpp b/src/test/MetaTest.cpp index 40ef63c..0b8b444 100644 --- a/src/test/MetaTest.cpp +++ b/src/test/MetaTest.cpp @@ -124,6 +124,9 @@ TEST(Meta, Combine) listAllTemp = EC::Meta::IndexOf::value; combinedAllTemp = EC::Meta::IndexOf::value; EXPECT_EQ(combinedAllTemp, listAllTemp); + + bool same = std::is_same::value; + EXPECT_TRUE(same); } TEST(Meta, Morph)