Use absolute path if relative can not be evaluated. Closes #2784.

0.44
Jussi Pakkanen 7 years ago committed by Nirbheek Chauhan
parent 9f401c6437
commit f00e2ef96b
  1. 9
      mesonbuild/interpreter.py

@ -1670,7 +1670,14 @@ external dependencies (including libraries) must go to "dependencies".''')
raise InterpreterException('Program or command {!r} not found '
'or not executable'.format(cmd))
cmd = prog
cmd_path = os.path.relpath(cmd.get_path(), start=srcdir)
try:
cmd_path = os.path.relpath(cmd.get_path(), start=srcdir)
except ValueError:
# On Windows a relative path can't be evaluated for
# paths on two different drives (i.e. c:\foo and f:\bar).
# The only thing left to is is to use the original absolute
# path.
cmd_path = cmd.get_path()
if not cmd_path.startswith('..') and cmd_path not in self.build_def_files:
self.build_def_files.append(cmd_path)
expanded_args = []

Loading…
Cancel
Save