From: Kornel Benko Date: Thu, 13 Jun 2019 07:18:40 +0000 (+0200) Subject: Cmake build:Amend 44bbd0b0 and 22f59925 X-Git-Tag: 2.3.4~40 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=46e29ebe54a12af24af86eb097f50082c11f925f;p=features.git Cmake build:Amend 44bbd0b0 and 22f59925 44bbd0b0: Get full version of gcc 22f59925: Remove support for gcc 4.6 Also Remove support for msvc without STD_REGEX (cherry picked from commit 6f2cd26103d0d59fd76184fd76af89cb8817ad4f) --- diff --git a/CMakeLists.txt b/CMakeLists.txt index f99c57bff5..cf862cc06a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -280,21 +280,25 @@ if(UNIX OR MINGW) set(LYX_USE_STD_REGEX 0) endif() else() - execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpfullversion OUTPUT_VARIABLE GCC_VERSION ERROR_VARIABLE _error RESULT_VARIABLE _err OUTPUT_STRIP_TRAILING_WHITESPACE) + #message(STATUS "dumpfullversion: error = ${_error}, result = ${_err}") + if (_err) + # previous check failed, try again with _old_ parameter + execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION ERROR_VARIABLE _error RESULT_VARIABLE _err OUTPUT_STRIP_TRAILING_WHITESPACE) + #message(STATUS "dumpversion: error = ${_error}, result = ${_err}") + endif() message(STATUS "Using GCC version ${GCC_VERSION}") if(GCC_VERSION VERSION_LESS 4.9) - if(GCC_VERSION VERSION_LESS 4.6) - message(FATAL_ERROR "gcc >= 4.6 is required.") - endif() - # 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) + # Drop support for gcc versions prior to 4.9 + message(FATAL_ERROR "gcc >= 4.9 is required.") else() set(LYX_USE_STD_REGEX 1) endif() endif() set(LYX_GCC11_MODE "${CXX11_FLAG}") else() + # Drop support for msvc versions prior to 1915 + message(FATAL_ERROR "msvc >= 1915 is required.") set(LYX_USE_STD_REGEX 0) # if(MSVC10) # set(LYX_USE_STD_REGEX 1) #TODO should we use it in ECMAScript mode?