Skip to content

Commit

Permalink
fix(msvs): avoid fixing path for arguments with "=" (#143)
Browse files Browse the repository at this point in the history
They are probably not paths, and V8 uses an argument like that, so the
fix is needed in Node.js

Refs: nodejs/node#42115
  • Loading branch information
targos authored Apr 6, 2022
1 parent 063ba97 commit 7e8f16e
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions pylib/gyp/generator/msvs.py
Original file line number Diff line number Diff line change
Expand Up @@ -423,12 +423,15 @@ def _BuildCommandLineForRuleRaw(
command.insert(0, "call")
# Fix the paths
# TODO(quote): This is a really ugly heuristic, and will miss path fixing
# for arguments like "--arg=path" or "/opt:path".
# If the argument starts with a slash or dash, it's probably a command line
# switch
# for arguments like "--arg=path", arg=path, or "/opt:path".
# If the argument starts with a slash or dash, or contains an equal sign,
# it's probably a command line switch.
# Return the path with forward slashes because the command using it might
# not support backslashes.
arguments = [i if (i[:1] in "/-") else _FixPath(i, "/") for i in cmd[1:]]
arguments = [
i if (i[:1] in "/-" or "=" in i) else _FixPath(i, "/")
for i in cmd[1:]
]
arguments = [i.replace("$(InputDir)", "%INPUTDIR%") for i in arguments]
arguments = [MSVSSettings.FixVCMacroSlashes(i) for i in arguments]
if quote_cmd:
Expand Down

0 comments on commit 7e8f16e

Please sign in to comment.