]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
Make sure we have a buffer in VC_COMPARE.
[lyx.git] / CMakeLists.txt
index fee89e135c3cb602dfb24b0225813789a9b9bbb5..1a52accec9286be40096d41271ba2aab2a7cdb03 100644 (file)
@@ -260,17 +260,28 @@ if(NOT CXX11COMPILER_FOUND)
 endif()
 set(LYX_GCC11_MODE)
 if(UNIX OR MINGW)
-       execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-       message(STATUS "Using GCC version ${GCC_VERSION}")
-       if(GCC_VERSION VERSION_LESS 4.9)
-               if(GCC_VERSION VERSION_LESS 4.3)
-                       message(FATAL_ERROR "gcc >= 4.3 is required.")
-               endif()
-               # <regex> in gcc is unusable in versions less than 4.9.0
-               # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631
-               set(LYX_USE_STD_REGEX 0)
+       if (CMAKE_CXX_COMPILER_ID MATCHES "^[cC]lang$")
+         # ignore the GCC_VERSION for clang
+         # and use the resulting CXX11_STD_REGEX found in FindCXX11Compiler.cmake
+         message(STATUS "Using clang")
+         if(CXX11_STD_REGEX)
+           set(LYX_USE_STD_REGEX 1)
+         else()
+           set(LYX_USE_STD_REGEX 0)
+         endif()
        else()
-               set(LYX_USE_STD_REGEX 1)
+         execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+         message(STATUS "Using GCC version ${GCC_VERSION}")
+         if(GCC_VERSION VERSION_LESS 4.9)
+                 if(GCC_VERSION VERSION_LESS 4.3)
+                         message(FATAL_ERROR "gcc >= 4.3 is required.")
+                 endif()
+                 # <regex> in gcc is unusable in versions less than 4.9.0
+                 # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631
+                 set(LYX_USE_STD_REGEX 0)
+         else()
+                 set(LYX_USE_STD_REGEX 1)
+         endif()
        endif()
        set(LYX_GCC11_MODE "${CXX11_FLAG}")
 else()