Adapt tex2lyx roundtrip to cmake build.

Use build tree only.
This commit is contained in:
Kornel Benko 2012-07-30 09:30:16 +02:00
parent 159108786d
commit 6fa12b0971
5 changed files with 57 additions and 4 deletions

View File

@ -668,6 +668,7 @@ endif()
add_subdirectory(src "${TOP_BINARY_DIR}/src")
add_subdirectory(lib/lyx2lyx "${TOP_BINARY_DIR}/lyx2lyx")
add_subdirectory(lib/scripts "${TOP_BINARY_DIR}/scripts")
add_subdirectory(lib/examples "${TOP_BINARY_DIR}/lib/examples")
if(LYX_INSTALL)

View File

@ -0,0 +1,11 @@
# This file is part of LyX, the document processor.
# Licence details can be found in the file COPYING.
#
# Copyright (c) 2012 Kornel Benko, <kornel@lyx.org>
#
project(test)
foreach(_arg longsheet.gnumeric iecc05.fen beamer-icsi-logo.pdf)
configure_file(${_arg} "${CMAKE_CURRENT_BINARY_DIR}/${_arg}" COPYONLY)
endforeach(_arg)

View File

@ -63,6 +63,8 @@ endif()
project_source_group("${GROUP_CODE}" tex2lyx_sources tex2lyx_headers)
add_subdirectory(test)
if(LYX_BUNDLE)
install(TARGETS ${_tex2lyx}
RUNTIME DESTINATION bin

View File

@ -0,0 +1,35 @@
# This file is part of LyX, the document processor.
# Licence details can be found in the file COPYING.
#
# Copyright (c) 2012 Kornel Benko, <kornel@lyx.org>
#
project(test)
set(_test_depend "${TOP_SRC_DIR}/src/tex2lyx/test/test.ltx")
set(_test_output "${TOP_SRC_DIR}/src/tex2lyx/test/test.lyx.tex")
foreach(_arg runtests.py DummyDocument.tex test.ltx foo.eps foo.png)
configure_file("${TOP_SRC_DIR}/src/tex2lyx/test/${_arg}" "${CMAKE_CURRENT_BINARY_DIR}/${_arg}" COPYONLY)
endforeach(_arg)
foreach(_arg test-structure test-insets box-color-size-space-align CJK XeTeX-polyglossia)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.tex"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${TOP_SRC_DIR}/src/tex2lyx/test/${_arg}.tex" "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.tex"
DEPENDS "${TOP_SRC_DIR}/src/tex2lyx/test/${_arg}.tex"
)
list(APPEND _test_depend "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.tex")
list(APPEND _test_output "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.lyx.tex")
list(APPEND _test_output "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.lyx.lyx")
endforeach(_arg)
ADD_CUSTOM_COMMAND(
OUTPUT ${_test_output}
COMMAND ${LYX_PYTHON_EXECUTABLE}
ARGS "${CMAKE_CURRENT_BINARY_DIR}/runtests.py" "${TOP_BINARY_DIR}/bin/${_tex2lyx}" "${TOP_SRC_DIR}/lib/scripts"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
DEPENDS ${_tex2lyx} ${_test_depend}
)
ADD_CUSTOM_TARGET(test DEPENDS ${_tex2lyx} ${_test_output})

View File

@ -15,17 +15,21 @@ import os, string, sys
def usage(prog_name):
return "Usage: %s [<tex2lyx binary>]" % prog_name
return "Usage: %s [<tex2lyx binary> [<script dir>]]" % prog_name
def main(argv):
# Parse and manipulate the command line arguments.
sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), '../../../lib/scripts'))
if len(argv) == 3:
sys.path.append(os.path.join(sys.argv[2]))
else:
sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), '../../../lib/scripts'))
from lyxpreview_tools import error
if len(argv) == 1:
if len(argv) < 2:
tex2lyx = './tex2lyx'
elif len(argv) == 2:
elif len(argv) <= 3:
tex2lyx = argv[1]
else:
error(usage(argv[0]))