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

Function _MapFileToMsBuildSourceType

tools/gyp/pylib/gyp/generator/msvs.py:2273–2313  ·  view source on GitHub ↗

Returns the group and element type of the source file. Arguments: source: The source file name. extension_to_rule_name: A dictionary mapping file extensions to rules. Returns: A pair of (group this file should be part of, the label of element)

(
    source, rule_dependencies, extension_to_rule_name, platforms, toolset
)

Source from the content-addressed store, hash-verified

2271
2272
2273def _MapFileToMsBuildSourceType(
2274 source, rule_dependencies, extension_to_rule_name, platforms, toolset
2275):
2276 """Returns the group and element type of the source file.
2277
2278 Arguments:
2279 source: The source file name.
2280 extension_to_rule_name: A dictionary mapping file extensions to rules.
2281
2282 Returns:
2283 A pair of (group this file should be part of, the label of element)
2284 """
2285 _, ext = os.path.splitext(source)
2286 ext = ext.lower()
2287 if ext in extension_to_rule_name:
2288 group = "rule"
2289 element = extension_to_rule_name[ext]
2290 elif ext in [".cc", ".cpp", ".c", ".cxx", ".mm"]:
2291 group = "compile"
2292 element = "ClCompile"
2293 elif ext in [".h", ".hxx"]:
2294 group = "include"
2295 element = "ClInclude"
2296 elif ext == ".rc":
2297 group = "resource"
2298 element = "ResourceCompile"
2299 elif ext in [".s", ".asm"]:
2300 group = "masm"
2301 element = "MASM"
2302 if "arm64" in platforms and toolset == "target":
2303 element = "MARMASM"
2304 elif ext == ".idl":
2305 group = "midl"
2306 element = "Midl"
2307 elif source in rule_dependencies:
2308 group = "rule_dependency"
2309 element = "CustomBuild"
2310 else:
2311 group = "none"
2312 element = "None"
2313 return (group, element)
2314
2315
2316def _GenerateRulesForMSBuild(

Callers 2

_AppendFiltersForMSBuildFunction · 0.85
_AddSources2Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected