Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }