X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=d7112b1a49ed7d8598be207391e7ac8c9b75ce57;hb=8556cb1c66c6548c110cc96e2c8245102cefb906;hp=c3fcadf5a09f1941ad20717a7c23452f76fbe4b5;hpb=43c9ce2d90059e206eeb337f1ef1729b171f3c7a;p=lyx.git diff --git a/CMakeLists.txt b/CMakeLists.txt index c3fcadf5a0..d7112b1a49 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -283,22 +283,29 @@ 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) + if(GCC_VERSION VERSION_LESS 4.6) + message(FATAL_ERROR "gcc >= 4.6 is required.") + elseif(GCC_VERSION VERSION_LESS 4.9) + # 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) + set(LYX_USE_STD_REGEX 1) endif() endif() set(LYX_GCC11_MODE "${CXX11_FLAG}") else() - if(MSVC_VERSION LESS 1915) + if(MSVC_VERSION LESS 1900) + # Drop support for msvc versions prior to 1900 (Visual Studio 2015) + message(FATAL_ERROR "Visual Studio >= 2015 is required.") set(LYX_USE_STD_REGEX 0) else() set(LYX_USE_STD_REGEX 1) @@ -337,11 +344,9 @@ endif() macro(setstripped _varname) if(${ARGC} GREATER 1) string(STRIP "${ARGV1}" _v) - message(STATUS "1. _v = ${_varname} ${_v}") if (_v MATCHES "^\\[\(.+\)\\]$") set(_v ${CMAKE_MATCH_1}) endif() - message(STATUS "2. _v = ${_v}") if(USE_POSIX_PACKAGING) string(TOLOWER ${_v} ${_varname}) else() @@ -354,6 +359,8 @@ endmacro(setstripped) foreach(_c_l ${_config_lines} ) if(_c_l MATCHES "^AC_INIT\\(\([^,]+\),\([^,]+\), *\\[\([^,]+\)\\] *,\(.*\)") + # Not using CMAKE_MATCH_ directly is needed, because + # its value is now changed inside macro setstripped set(_PB ${CMAKE_MATCH_1}) set(_PV ${CMAKE_MATCH_2}) set(_PBU ${CMAKE_MATCH_3}) @@ -789,7 +796,7 @@ unset(LYX_PYTHON_EXECUTABLE CACHE) unset(PYTHON_VERSION_MAJOR) unset(PYTHON_VERSION_MINOR) unset(PYTHON_VERSION_STRING) -find_package(PythonInterp 3.3 QUIET) +find_package(PythonInterp 3.5 QUIET) if(NOT PYTHONINTERP_FOUND) unset(PYTHON_EXECUTABLE CACHE) find_package(PythonInterp 2.0 REQUIRED)