Am 11.04.2013 um 00:23 schrieb Julien Rioux <jri...@lyx.org>: > On 30/03/2013 9:46 AM, Vincent van Ravesteijn wrote: >> When using CMake, the binary files are stored in <build-dir>/bin. LyX can't >> fin tex2lyx with the current code. So, we have to point configure.py to >> explicitly look in the binary dir. >> >> Any objections ? >> >> Vincent >> >> --- >> lib/configure.py | 9 ++++++++- >> src/support/Package.cpp | 2 +- >> 2 files changed, 9 insertions(+), 2 deletions(-) >> >> diff --git a/lib/configure.py b/lib/configure.py >> index b6c453d..2ae6ec2 100644 >> --- a/lib/configure.py >> +++ b/lib/configure.py >> @@ -652,7 +652,10 @@ def checkConverterEntries(): >> in_place = os.path.join(srcdir, '..', 'src', 'tex2lyx', 'tex2lyx') >> in_place = os.path.abspath(in_place) >> >> - path, t2l = checkProg('a LaTeX/Noweb -> LyX converter', [in_place, >> 'tex2lyx' + version_suffix, 'tex2lyx'], >> + in_binary_dir = os.path.join(lyx_binary_dir, 'tex2lyx') >> + in_binary_dir = os.path.abspath(in_binary_dir) >> + >> + path, t2l = checkProg('a LaTeX/Noweb -> LyX converter', [in_place, >> in_place + version_suffix, in_binary_dir, in_binary_dir + version_suffix, >> 'tex2lyx' + version_suffix, 'tex2lyx'], >> rc_entry = [r'''\converter latex lyx "%% -f $$i $$o" >> "" >> \converter literate lyx "%% -n -m noweb -f $$i $$o" ""'''], >> not_found = 'tex2lyx') >> if path == '': >> @@ -1394,6 +1397,7 @@ if __name__ == '__main__': >> rc_entries = '' >> lyx_keep_temps = False >> version_suffix = '' >> + lyx_binary_dir = '' >> ## Parse the command line >> for op in sys.argv[1:]: # default shell/for list is $*, the options >> if op in [ '-help', '--help', '-h' ]: >> @@ -1404,6 +1408,7 @@ Options: >> --without-kpsewhich do not update TeX files information via >> kpsewhich >> --without-latex-config do not run LaTeX to determine configuration >> --with-version-suffix=suffix suffix of binary installed files >> + --binary-dir=directory directory of binary installed files >> ''' >> sys.exit(0) >> elif op == '--without-kpsewhich': >> @@ -1414,6 +1419,8 @@ Options: >> lyx_keep_temps = True >> elif op[0:22] == '--with-version-suffix=': # never mind if op is >> not long enough >> version_suffix = op[22:] >> + elif op[0:13] == '--binary-dir=': >> + lyx_binary_dir = op[13:] >> else: >> print "Unknown option", op >> sys.exit(1) >> diff --git a/src/support/Package.cpp b/src/support/Package.cpp >> index dab008e..695e89f 100644 >> --- a/src/support/Package.cpp >> +++ b/src/support/Package.cpp >> @@ -141,7 +141,7 @@ Package::Package(string const & command_line_arg0, >> FileName const configure_script(addName(system_support().absFileName(), >> "configure.py")); >> configure_command_ = os::python() + ' ' + >> quoteName(configure_script.toFilesystemEncoding(), >> quote_python) + >> - with_version_suffix(); >> + with_version_suffix() + " --binary-dir=" + >> binary_dir().absFileName();
A little bit late… but anyway… I think it's not "spaces in path name" safe. What about the attached patch? Stephan >> >> LYXERR(Debug::INIT, "<package>\n" >> << "\tbinary_dir " << binary_dir().absFileName() << '\n' >> > > +1, I think this fixes http://www.lyx.org/trac/ticket/6986 in a nice > build-system-agnostic way. > > -- > Julien >
binary_dir.patch
Description: Binary data