/// <summary> /// This function is the callback used to execute the command when the menu item is clicked. /// See the constructor to see how the menu item is associated with this function using /// OleMenuCommandService service and MenuCommand class. /// </summary> /// <param name="sender">Event sender.</param> /// <param name="e">Event args.</param> private void Execute(object sender, EventArgs e) { ThreadHelper.ThrowIfNotOnUIThread(); if (logger == null) { logger = new VSOutputLogger(dte as EnvDTE80.DTE2); } if (!VSslnToCMake.UI.ShowOptionGUI( dte as EnvDTE80.DTE2, out string targetPlatform, out string[] targetConfigurations)) { return; } VSslnToCMake.AbstractConverter converter = null; if (dte.Version == "14.0") { converter = new VSslnToCMake.ConverterVs2015(); } else if (dte.Version == "15.0") { converter = new VSslnToCMake.ConverterVs2017(); } converter.SetLogger(logger); converter.Platform = targetPlatform; converter.TargetConfigurations = targetConfigurations; converter.Convert(dte); }
public void SetAnyCPUToPlatform() { var converter = new VSslnToCMake.ConverterVs2015(); converter.Platform = "Any CPU"; converter.SetLogger(new VSslnToCMake.StdLogger()); var ret = converter.Convert((EnvDTE.DTE)null); Assert.IsFalse(ret); }
public void LoadSolutionWithNoVCProjects() { var testSlnsDir = Path.Combine( Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"..\..\..\tests"); var slnPath = Path.Combine(testSlnsDir, @"CsharpProjects\CsharpProjects.sln"); var dte = (EnvDTE80.DTE2)System.Activator.CreateInstance( System.Type.GetTypeFromProgID("VisualStudio.DTE.14.0")); MessageFilter.Register(); dte.Solution.Open(slnPath); var converter = new VSslnToCMake.ConverterVs2015(); converter.SetLogger(new VSslnToCMake.StdLogger()); var ret = converter.Convert((EnvDTE.DTE)dte); Assert.IsFalse(ret); }