Commit 876ec104 authored by Simon Hollingshead's avatar Simon Hollingshead
Browse files

libtins: Forcibly compile with C++14.

parent a331a49c
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
This change bypasses all the code that attempts to see which C++11 features are enabled in your specific C++11 compiler.  C++14 is required for gtest 1.13+.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 902233e676ee..49ac8a1010a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,17 +103,9 @@ ENDIF()
 # C++11 support
 OPTION(LIBTINS_ENABLE_CXX11 "Compile libtins with c++11 features" ON)
 IF(LIBTINS_ENABLE_CXX11)
-    # We only use declval and decltype on gcc/clang as VC fails to build that code,
-    # at least on VC2013
-    IF(HAS_CXX11_RVALUE_REFERENCES AND HAS_CXX11_FUNCTIONAL AND HAS_CXX11_CHRONO AND
-       HAS_CXX11_NOEXCEPT AND ((HAS_CXX11_DECLVAL AND HAS_CXX11_DECLTYPE) OR MSVC))
-        SET(TINS_HAVE_CXX11 ON)
-        MESSAGE(STATUS "Enabling C++11 features")
-        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11_COMPILER_FLAGS}")
-    ELSE()
-        MESSAGE(WARNING "The compiler doesn't support the necessary C++11 features. "
-                        "Disabling C++11 on this build")
-    ENDIF()
+    SET(TINS_HAVE_CXX11 ON)
+    MESSAGE(STATUS "Using C++11 features")
+    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
 ELSE(LIBTINS_ENABLE_CXX11)
     MESSAGE(
         WARNING
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
      url = "https://github.com/mfontanini/libtins/commit/812be7966d445ec56e88eab512f8fd2d57152427.patch";
      hash = "sha256-5RCFPe95r1CBrAocjTPR2SvUlgaGa1aBc8RazyxUj3M=";
    })
    # Required for gtest 1.13+.
    ./0001-force-cpp-14.patch
  ];

  postPatch = ''