]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/test/runtests.cmake
Update tex2lyx tests
[lyx.git] / src / tex2lyx / test / runtests.cmake
index 4110087df47043d919eeb5af58c2b85ecb93c867..863490b26797b156a6515d92355cfe0e74e3569c 100644 (file)
@@ -1,8 +1,8 @@
 # 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>
-#           (c) 2013 Scott Kostyshak <skotysh@lyx.org>
+# Copyright (c) 2013-2014 Kornel Benko <kornel@lyx.org>
+#           (c) 2013-2014 Scott Kostyshak <skotysh@lyx.org>
 #
 # Script should be called like:
 # COMMAND ${CMAKE_COMMAND} \
 set(ENV{${LYX_USERDIR_VER}} ${LYX_TESTS_USERDIR})
 message(STATUS "SCRIPT_DIR = ${SCRIPT_DIR}")
 
+set(_configure_needed FALSE)
+foreach(_f lyxrc.defaults lyxmodules.lst textclass.lst packages.lst)
+  if(NOT EXISTS "${LYX_TESTS_USERDIR}/${_f}")
+    message(STATUS "Configure needed, because \"${LYX_TESTS_USERDIR}/${_f}\" does not exist")
+    set(_configure_needed TRUE)
+    break()
+  endif()
+  if("${SCRIPT_DIR}/../configure.py" IS_NEWER_THAN "${LYX_TESTS_USERDIR}/${_f}")
+    message(STATUS "Configure needed, because \"${LYX_TESTS_USERDIR}/${_f}\" too old")
+    set(_configure_needed TRUE)
+    break()
+  endif()
+endforeach()
+
+if(_configure_needed)
+  # Determine suffix from ${TEX2LYX_EXE}
+  if(TEX2LYX_EXE MATCHES ".*tex2lyx([0-9]\\.[0-9]).*")
+    set(_suffix ${CMAKE_MATCH_1})
+  else()
+    set(_suffix "")
+  endif()
+
+  if(_suffix STREQUAL "")
+    set(_with_ver "")
+  else()
+    set(_with_ver "--with-version-suffix=${_suffix}")
+  endif()
+
+  # Get binary directory of tex2lyx
+  string(REGEX REPLACE "(.*)tex2lyx${_suffix}.*" "\\1" _bindir "${TEX2LYX_EXE}")
+
+  message(STATUS "executing ${LYX_PYTHON_EXECUTABLE} -tt \"${SCRIPT_DIR}/../configure.py\" ${_with_ver} \"--binary-dir=${_bindir}\"")
+  execute_process(COMMAND ${LYX_PYTHON_EXECUTABLE} -tt "${SCRIPT_DIR}/../configure.py"
+    ${_with_ver} "--binary-dir=${_bindir}"
+    WORKING_DIRECTORY "${LYX_TESTS_USERDIR}"
+  )
+endif()
+
 execute_process(COMMAND ${LYX_PYTHON_EXECUTABLE} ${PY_SCRIPT} ${FIRST_PARAM}
   ${TEX2LYX_EXE} ${SCRIPT_DIR} ${WORKDIR} ${TESTFILE}
   RESULT_VARIABLE _err