# This file is part of LyX, the document processor. # Licence details can be found in the file COPYING. # # Copyright (c) 2013 Kornel Benko kornel@lyx.org # # # LYX2LYX = ${TOP_SRC_DIR}/lib/lyx2lyx/lyx2lyx # LYXFILE = xxx # # Script should be called like: # cmake -DLYX_PYTHON_EXECUTABLE=xxx \ # -DLYX2LYX=xxx \ # -DLYX_TESTS_USERDIR=${LYX_TESTS_USERDIR} \ # -DWORKDIR=${BUILD_DIR}/autotests/out-home \ # -DLYXFILE=xxx \ # -P "${TOP_SRC_DIR}/development/autotests/lyx2lyxtest.cmake" # string(RANDOM LENGTH 5 errorfile) string(RANDOM LENGTH 6 outputfile) message(STATUS "Executing ${LYX_PYTHON_EXECUTABLE} ${LYX2LYX} -e ${errorfile} -o ${outputfile} ${LYXFILE}") execute_process( COMMAND ${LYX_PYTHON_EXECUTABLE} ${LYX2LYX} -e ${errorfile} -o ${outputfile} ${LYXFILE} RESULT_VARIABLE _err) message(STATUS "Error output of lyx2lyx = ${_err}") string(COMPARE NOTEQUAL ${_err} 0 _erg) # Check file "errors" being empty file(STRINGS ${errorfile} foundErrors) if(foundErrors) foreach(_l ${foundErrors}) if (NOT _l MATCHES "Warning: No conversion needed:") set(_erg 1) message(STATUS "${_l}") endif() endforeach() endif() # Check the output-file being not empty file(STRINGS ${outputfile} createdLyx) if(NOT createdLyx) set(_erg 1) message(STATUS "Created file empty") endif() execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${errorfile} ${outputfile}) if(_erg) message(FATAL_ERROR "lyx2lyx failed") endif()