MCPcopy Create free account
hub / github.com/nodejs/node / _ToolSetOrAppend

Function _ToolSetOrAppend

tools/gyp/pylib/gyp/generator/msvs.py:275–299  ·  view source on GitHub ↗
(tools, tool_name, setting, value, only_if_unset=False)

Source from the content-addressed store, hash-verified

273
274
275def _ToolSetOrAppend(tools, tool_name, setting, value, only_if_unset=False):
276 # TODO(bradnelson): ugly hack, fix this more generally!!!
277 if "Directories" in setting or "Dependencies" in setting:
278 if isinstance(value, str):
279 value = value.replace("/", "\\")
280 else:
281 value = [i.replace("/", "\\") for i in value]
282 if not tools.get(tool_name):
283 tools[tool_name] = {}
284 tool = tools[tool_name]
285 if setting == "CompileAsWinRT":
286 return
287 if tool.get(setting):
288 if only_if_unset:
289 return
290 if isinstance(tool[setting], list) and isinstance(value, list):
291 tool[setting] += value
292 else:
293 raise TypeError(
294 'Appending "%s" to a non-list setting "%s" for tool "%s" is '
295 "not allowed, previous value: %s"
296 % (value, setting, tool_name, str(tool[setting]))
297 )
298 else:
299 tool[setting] = value
300
301
302def _ConfigTargetVersion(config_data):

Callers 2

_ToolAppendFunction · 0.85
_FinalizeMSBuildSettingsFunction · 0.85

Calls 2

strFunction · 0.85
getMethod · 0.65

Tested by

no test coverage detected