]> git.lyx.org Git - lyx.git/commitdiff
Do not use --std=c++14 for MSVC
authorGeorg Baum <baum@lyx.org>
Sat, 2 Jul 2016 10:42:04 +0000 (12:42 +0200)
committerGeorg Baum <baum@lyx.org>
Sat, 2 Jul 2016 10:42:04 +0000 (12:42 +0200)
MSVC does not need a special flag to specify the standard. Using --std=c++14
produces a warning, but compilation succeeds, so the old code did mistakenly
choose --std=c++14 for MSVC.

development/cmake/modules/FindCXX11Compiler.cmake

index 56fa0c34fecacdd130ca359f84ece1b5c3b32b17..c7045d1fd24595aa492efa0266756a5a642f465b 100644 (file)
@@ -40,12 +40,19 @@ else()
   if (CYGWIN)
     set(CXX11_FLAG_CANDIDATES "--std=gnu++11")
   else()
-    set(CXX11_FLAG_CANDIDATES
-      "--std=c++14"
-      "--std=c++11"
-      "--std=gnu++11"
-      "--std=gnu++0x"
-    )
+    if (MSVC)
+      # MSVC does not have a general C++11 flag, one can only switch off
+      # MS extensions with /Za in general or by extension with /Zc.
+      # Use an empty flag to ensure that CXX11_STD_REGEX is correctly set.
+      set(CXX11_FLAG_CANDIDATES "")
+    else()
+      set(CXX11_FLAG_CANDIDATES
+        "--std=c++14"
+        "--std=c++11"
+        "--std=gnu++11"
+        "--std=gnu++0x"
+      )
+    endif()
   endif()
 endif()