diff --git a/CMakeLists.txt b/CMakeLists.txt index 51185601b7..acaad7c08c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -283,15 +283,17 @@ 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() @@ -299,6 +301,8 @@ if(UNIX OR MINGW) set(LYX_GCC11_MODE "${CXX11_FLAG}") else() if(MSVC_VERSION LESS 1915) + # Drop support for msvc versions prior to 1915 + message(FATAL_ERROR "msvc >= 1915 is required.") set(LYX_USE_STD_REGEX 0) else() set(LYX_USE_STD_REGEX 1)