pick include-what-you-use from same path as iwyu_tool.py
Avoid that iwyu_tool.py relies on finding include-what-you-use from the PATH, i.e. even if iwyu_tool.py is not in the path and gets executed by absolute path, it should still succeed in finding the executable binary include-what-you-use.
This commit is contained in:
parent
94873ba1cb
commit
615507a3cd
11
iwyu_tool.py
11
iwyu_tool.py
|
@ -86,10 +86,21 @@ FORMATTERS = {
|
||||||
'clang': clang_formatter
|
'clang': clang_formatter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def get_output(cwd, command):
|
def get_output(cwd, command):
|
||||||
""" Run the given command and return its output as a string. """
|
""" Run the given command and return its output as a string. """
|
||||||
|
# Environment dictionary handling from https://stackoverflow.com/a/4453495
|
||||||
|
# ensures that: The current environment is not altered, instead it is
|
||||||
|
# copied for the child process, then the directory of iwyu_tool.py is
|
||||||
|
# prepended to the PATH variable.
|
||||||
|
env = os.environ.copy()
|
||||||
|
path_variable = os.path.dirname(__file__)
|
||||||
|
if 'PATH' in env:
|
||||||
|
path_variable += os.pathsep + env['PATH']
|
||||||
|
env['PATH'] = path_variable
|
||||||
process = subprocess.Popen(command,
|
process = subprocess.Popen(command,
|
||||||
cwd=cwd,
|
cwd=cwd,
|
||||||
|
env=env,
|
||||||
shell=True,
|
shell=True,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
stderr=subprocess.STDOUT)
|
stderr=subprocess.STDOUT)
|
||||||
|
|
Loading…
Reference in New Issue