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

Function _FinalizeMSBuildSettings

tools/gyp/pylib/gyp/generator/msvs.py:3337–3440  ·  view source on GitHub ↗
(spec, configuration)

Source from the content-addressed store, hash-verified

3335
3336
3337def _FinalizeMSBuildSettings(spec, configuration):
3338 if "msbuild_settings" in configuration:
3339 converted = False
3340 msbuild_settings = configuration["msbuild_settings"]
3341 MSVSSettings.ValidateMSBuildSettings(msbuild_settings)
3342 else:
3343 converted = True
3344 msvs_settings = configuration.get("msvs_settings", {})
3345 msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(msvs_settings)
3346 include_dirs, midl_include_dirs, resource_include_dirs = _GetIncludeDirs(
3347 configuration
3348 )
3349 libraries = _GetLibraries(spec)
3350 library_dirs = _GetLibraryDirs(configuration)
3351 out_file, _, msbuild_tool = _GetOutputFilePathAndTool(spec, msbuild=True)
3352 target_ext = _GetOutputTargetExt(spec)
3353 defines = _GetDefines(configuration)
3354 if converted:
3355 # Visual Studio 2010 has TR1
3356 defines = [d for d in defines if d != "_HAS_TR1=0"]
3357 # Warn of ignored settings
3358 ignored_settings = ["msvs_tool_files"]
3359 for ignored_setting in ignored_settings:
3360 value = configuration.get(ignored_setting)
3361 if value:
3362 print(
3363 "Warning: The automatic conversion to MSBuild does not handle "
3364 "%s. Ignoring setting of %s" % (ignored_setting, str(value))
3365 )
3366
3367 defines = [_EscapeCppDefineForMSBuild(d) for d in defines]
3368 disabled_warnings = _GetDisabledWarnings(configuration)
3369 prebuild = configuration.get("msvs_prebuild")
3370 postbuild = configuration.get("msvs_postbuild")
3371 def_file = _GetModuleDefinition(spec)
3372
3373 # Add the information to the appropriate tool
3374 # TODO(jeanluc) We could optimize and generate these settings only if
3375 # the corresponding files are found, e.g. don't generate ResourceCompile
3376 # if you don't have any resources.
3377 _ToolAppend(
3378 msbuild_settings, "ClCompile", "AdditionalIncludeDirectories", include_dirs
3379 )
3380 _ToolAppend(
3381 msbuild_settings, "Midl", "AdditionalIncludeDirectories", midl_include_dirs
3382 )
3383 _ToolAppend(
3384 msbuild_settings,
3385 "ResourceCompile",
3386 "AdditionalIncludeDirectories",
3387 resource_include_dirs,
3388 )
3389 # Add in libraries, note that even for empty libraries, we want this
3390 # set, to prevent inheriting default libraries from the environment.
3391 _ToolSetOrAppend(msbuild_settings, "Link", "AdditionalDependencies", libraries)
3392 _ToolAppend(msbuild_settings, "Link", "AdditionalLibraryDirectories", library_dirs)
3393 if out_file:
3394 _ToolAppend(

Callers 1

_GenerateMSBuildProjectFunction · 0.85

Calls 15

_GetIncludeDirsFunction · 0.85
_GetLibrariesFunction · 0.85
_GetLibraryDirsFunction · 0.85
_GetOutputTargetExtFunction · 0.85
_GetDefinesFunction · 0.85
strFunction · 0.85
_GetDisabledWarningsFunction · 0.85
_GetModuleDefinitionFunction · 0.85
_ToolAppendFunction · 0.85
_ToolSetOrAppendFunction · 0.85

Tested by

no test coverage detected