lyx_mirror/development/autotests/CheckLoadErrors.cmake

39 lines
1.0 KiB
CMake

macro(CheckLoadErrors lyxerrx PARAMS_DIR res_erg)
set(lyxerr ${${lyxerrx}})
set(_erg 0)
if(lyxerr)
set(ConfigureOutput 0)
file(STRINGS "${PARAMS_DIR}/filterCheckWarnings" ignoreRegexp)
# Split lyxerr into lines
string(REGEX REPLACE "[\n]+" ";" foundErrors ${lyxerr})
foreach(_l ${foundErrors})
if(ConfigureOutput)
if(_l MATCHES "LyX: Done!")
set(ConfigureOutput 0)
endif()
else()
if(_l MATCHES "reconfiguring user directory")
set(ConfigureOutput 1)
endif()
endif()
if(NOT ConfigureOutput)
set(found 0)
foreach(_r ${ignoreRegexp})
if(_l MATCHES "${_r}")
set(found 1)
break()
endif()
endforeach()
if(NOT found)
message(STATUS "Error line = ${_l}")
# It is error, because the error-line does not match
# any ignoring expression
set(_erg 1)
endif()
endif()
endforeach()
endif()
set(${res_erg} ${_erg})
endmacro()