OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 namespace NativeClientVSAddIn | 5 namespace NativeClientVSAddIn |
6 { | 6 { |
7 using System; | 7 using System; |
8 | 8 |
9 using EnvDTE; | 9 using EnvDTE; |
10 using EnvDTE80; | 10 using EnvDTE80; |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 { | 212 { |
213 string baseLibName = lib.Replace(".lib", string.Empty); | 213 string baseLibName = lib.Replace(".lib", string.Empty); |
214 if (!string.IsNullOrWhiteSpace(lib)) | 214 if (!string.IsNullOrWhiteSpace(lib)) |
215 { | 215 { |
216 libs = string.Concat(libs, baseLibName, ".lib;"); | 216 libs = string.Concat(libs, baseLibName, ".lib;"); |
217 } | 217 } |
218 } | 218 } |
219 } | 219 } |
220 | 220 |
221 properties.SetProperty("Link", "AdditionalDependencies", libs); | 221 properties.SetProperty("Link", "AdditionalDependencies", libs); |
222 | |
223 // Work around for issue 140162. Forces some properties to save to the
project file. | |
224 PerformPropertyFixes(config); | |
225 } | 222 } |
226 } | 223 } |
227 } | 224 } |
228 | 225 |
229 /// <summary> | 226 /// <summary> |
230 /// Takes a project configuration and sets values in the project file to wor
k around some | |
231 /// problems in Visual Studio. This is a work around for issue 140162. | |
232 /// </summary> | |
233 /// <param name="config">A configuration that needs modification.</param> | |
234 private void PerformPropertyFixes(VCConfiguration config) | |
235 { | |
236 // NaCl Platform Specific: | |
237 if (PropertyManager.IsNaClPlatform(config.Platform.Name)) | |
238 { | |
239 IVCRulePropertyStorage general = config.Rules.Item("ConfigurationGeneral
"); | |
240 string[] keys = {"VSNaClSDKRoot"}; | |
241 Dictionary<string, string> values = new Dictionary<string, string>(); | |
242 foreach (var key in keys) | |
243 { | |
244 values[key] = general.GetUnevaluatedPropertyValue(key); | |
245 general.DeleteProperty(key); | |
246 } | |
247 | |
248 foreach (var key in keys) | |
249 { | |
250 general.SetPropertyValue(key, values[key]); | |
251 } | |
252 } | |
253 | |
254 IVCRulePropertyStorage directories = config.Rules.Item("ConfigurationDirec
tories"); | |
255 string includePath = directories.GetUnevaluatedPropertyValue("IncludePath"
); | |
256 string libraryPath = directories.GetUnevaluatedPropertyValue("LibraryPath"
); | |
257 directories.DeleteProperty("IncludePath"); | |
258 directories.DeleteProperty("LibraryPath"); | |
259 directories.SetPropertyValue("IncludePath", includePath); | |
260 directories.SetPropertyValue("LibraryPath", libraryPath); | |
261 | |
262 // Pepper specific: | |
263 if (config.Platform.Name == Strings.PepperPlatformName) | |
264 { | |
265 string executablePath = directories.GetUnevaluatedPropertyValue("Executa
blePath"); | |
266 directories.SetPropertyValue("ExecutablePath", executablePath); | |
267 } | |
268 } | |
269 | |
270 /// <summary> | |
271 /// Get the major version of the AddIn. | 227 /// Get the major version of the AddIn. |
272 /// </summary> | 228 /// </summary> |
273 /// <returns>The add-in major version number.</returns> | 229 /// <returns>The add-in major version number.</returns> |
274 private int GetAddInMajorVersion() | 230 private int GetAddInMajorVersion() |
275 { | 231 { |
276 Assembly assem = Assembly.GetExecutingAssembly(); | 232 Assembly assem = Assembly.GetExecutingAssembly(); |
277 AssemblyName assemName = assem.GetName(); | 233 AssemblyName assemName = assem.GetName(); |
278 return assemName.Version.Major; | 234 return assemName.Version.Major; |
279 } | 235 } |
280 | 236 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 } | 274 } |
319 else if (properties.ProjectPlatform == PropertyManager.ProjectPlatformTy
pe.Pepper) | 275 else if (properties.ProjectPlatform == PropertyManager.ProjectPlatformTy
pe.Pepper) |
320 { | 276 { |
321 debugger_ = new PluginDebuggerVS(dte_, properties); | 277 debugger_ = new PluginDebuggerVS(dte_, properties); |
322 webServer_ = new WebServer(webServerOutputPane_, properties); | 278 webServer_ = new WebServer(webServerOutputPane_, properties); |
323 } | 279 } |
324 } | 280 } |
325 } | 281 } |
326 } | 282 } |
327 } | 283 } |
OLD | NEW |