Op 26-5-2013 21:30, Stephan Witt schreef:
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


What about using "toFilesystemEncoding()" as well ?

Vincent

Reply via email to