(spec, configuration)
| 3335 | |
| 3336 | |
| 3337 | def _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( |
no test coverage detected