custom targets: Only add a dependency on absolute path external programs
If the external program is a string that is meant to be searched in PATH, we can't add a dependency on it at configure time because we don't know where it will be at compile time.
This commit is contained in:
parent
ec29f19c12
commit
7b2a07bcf9
|
@ -1713,7 +1713,11 @@ class CustomTarget(Target):
|
|||
if not c.found():
|
||||
m = 'Tried to use not-found external program {!r} in "command"'
|
||||
raise InvalidArguments(m.format(c.name))
|
||||
self.depend_files.append(File.from_absolute_file(c.get_path()))
|
||||
path = c.get_path()
|
||||
if os.path.isabs(path):
|
||||
# Can only add a dependency on an external program which we
|
||||
# know the absolute path of
|
||||
self.depend_files.append(File.from_absolute_file(path))
|
||||
final_cmd += c.get_command()
|
||||
elif isinstance(c, (BuildTarget, CustomTarget)):
|
||||
self.dependencies.append(c)
|
||||
|
|
Loading…
Reference in New Issue