Пример #1
0
 public PrivateData(
     CommandLineProcessor.Delegate commandLineDelegate,
     VisualStudioProcessor.Delegate visualStudioDelegate)
 {
     this.CommandLineDelegate = commandLineDelegate;
     this.VisualStudioProjectDelegate = visualStudioDelegate;
 }
 private static VisualStudioProcessor.ToolAttributeDictionary CheckedVisualStudioProcessor(
      object sender,
      Bam.Core.Option option,
      Bam.Core.Target target,
      VisualStudioProcessor.EVisualStudioTarget vsTarget)
 {
     var boolOption = option as Bam.Core.ValueTypeOption<bool>;
     var returnVal = new VisualStudioProcessor.ToolAttributeDictionary();
     returnVal.Add("CheckForOverflowUnderflow", boolOption.Value ? "true" : "false");
     return returnVal;
 }
 private static VisualStudioProcessor.ToolAttributeDictionary WarningsAsErrorsVisualStudioProcessor(
      object sender,
      Bam.Core.Option option,
      Bam.Core.Target target,
      VisualStudioProcessor.EVisualStudioTarget vsTarget)
 {
     var boolOption = option as Bam.Core.ValueTypeOption<bool>;
     var returnVal = new VisualStudioProcessor.ToolAttributeDictionary();
     returnVal.Add("TreatWarningsAsErrors", boolOption.Value ? "true" : "false");
     return returnVal;
 }
 private static VisualStudioProcessor.ToolAttributeDictionary TargetVisualStudioProcessor(
      object sender,
      Bam.Core.Option option,
      Bam.Core.Target target,
      VisualStudioProcessor.EVisualStudioTarget vsTarget)
 {
     var returnVal = new VisualStudioProcessor.ToolAttributeDictionary();
     var enumOption = option as Bam.Core.ValueTypeOption<ETarget>;
     switch (enumOption.Value)
     {
         case ETarget.Executable:
             returnVal.Add("OutputType", "Exe");
             break;
         case ETarget.Library:
             returnVal.Add("OutputType", "Library");
             break;
         case ETarget.Module:
             returnVal.Add("OutputType", "Module");
             break;
         case ETarget.WindowsExecutable:
             returnVal.Add("OutputType", "WinExe");
             break;
         default:
             throw new Bam.Core.Exception("Unrecognized CSharp.ETarget value");
     }
     return returnVal;
 }
 private static VisualStudioProcessor.ToolAttributeDictionary WarningLevelVisualStudioProcessor(
      object sender,
      Bam.Core.Option option,
      Bam.Core.Target target,
      VisualStudioProcessor.EVisualStudioTarget vsTarget)
 {
     var enumOption = option as Bam.Core.ValueTypeOption<EWarningLevel>;
     var returnVal = new VisualStudioProcessor.ToolAttributeDictionary();
     switch (enumOption.Value)
     {
         case EWarningLevel.Level0:
         case EWarningLevel.Level1:
         case EWarningLevel.Level2:
         case EWarningLevel.Level3:
         case EWarningLevel.Level4:
             returnVal.Add("WarningLevel", enumOption.Value.ToString("d"));
             break;
         default:
             throw new Bam.Core.Exception("Unrecognized CSharp.EWarningLevel value");
     }
     return returnVal;
 }
 private static VisualStudioProcessor.ToolAttributeDictionary ReferencesVisualStudioProcessor(
      object sender,
      Bam.Core.Option option,
      Bam.Core.Target target,
      VisualStudioProcessor.EVisualStudioTarget vsTarget)
 {
     // this is handled elsewhere
     return null;
 }
 private static VisualStudioProcessor.ToolAttributeDictionary PlatformVisualStudioProcessor(
      object sender,
      Bam.Core.Option option,
      Bam.Core.Target target,
      VisualStudioProcessor.EVisualStudioTarget vsTarget)
 {
     var enumOption = option as Bam.Core.ValueTypeOption<EPlatform>;
     var returnVal = new VisualStudioProcessor.ToolAttributeDictionary();
     switch (enumOption.Value)
     {
         case EPlatform.X86:
             returnVal.Add("PlatformTarget", "x86");
             break;
         case EPlatform.X64:
             returnVal.Add("PlatformTarget", "x64");
             break;
         case EPlatform.Itanium:
             returnVal.Add("PlatformTarget", "Itanium");
             break;
         case EPlatform.AnyCpu:
             returnVal.Add("PlatformTarget", "AnyCPU");
             break;
         default:
             throw new Bam.Core.Exception("Unrecognized CSharp.EPlatform value");
     }
     return returnVal;
 }
 private static VisualStudioProcessor.ToolAttributeDictionary ModulesVisualStudioProcessor(
      object sender,
      Bam.Core.Option option,
      Bam.Core.Target target,
      VisualStudioProcessor.EVisualStudioTarget vsTarget)
 {
     var returnVal = new VisualStudioProcessor.ToolAttributeDictionary();
     // TODO
     return returnVal;
 }
 private static VisualStudioProcessor.ToolAttributeDictionary DefinesVisualStudioProcessor(
      object sender,
      Bam.Core.Option option,
      Bam.Core.Target target,
      VisualStudioProcessor.EVisualStudioTarget vsTarget)
 {
     var stringArrayOption = option as Bam.Core.ReferenceTypeOption<Bam.Core.StringArray>;
     var returnVal = new VisualStudioProcessor.ToolAttributeDictionary();
     if (stringArrayOption.Value.Count == 0)
     {
         return returnVal;
     }
     var definesList = new System.Text.StringBuilder();
     foreach (var define in stringArrayOption.Value)
     {
         definesList.AppendFormat("{0};", define);
     }
     returnVal.Add("DefineConstants", definesList.ToString().TrimEnd(new char[] { ';' }));
     return returnVal;
 }
 private static VisualStudioProcessor.ToolAttributeDictionary DebugInformationVisualStudioProcessor(
      object sender,
      Bam.Core.Option option,
      Bam.Core.Target target,
      VisualStudioProcessor.EVisualStudioTarget vsTarget)
 {
     var returnVal = new VisualStudioProcessor.ToolAttributeDictionary();
     var enumOption = option as Bam.Core.ValueTypeOption<EDebugInformation>;
     switch (enumOption.Value)
     {
         case EDebugInformation.Disabled:
             returnVal.Add("DebugSymbols", "false");
             break;
         case EDebugInformation.ProgramDatabaseOnly:
             {
                 if (Bam.Core.OSUtilities.IsWindowsHosting)
                 {
                     returnVal.Add("DebugSymbols", "true");
                     returnVal.Add("DebugType", "pdbinfo");
                     // TODO
                     //var pdbFileLoc = (sender as OptionCollection).GetModuleLocation(Assembly.PDBFile);
                     //commandLineBuilder.Add(System.String.Format("/pdb:\"{0}\"", pdbFileLoc.GetSinglePath()));
                 }
                 else
                 {
                     returnVal.Add("DebugSymbols", "true");
                 }
             }
             break;
         case EDebugInformation.Full:
             {
                 if (Bam.Core.OSUtilities.IsWindowsHosting)
                 {
                     returnVal.Add("DebugSymbols", "true");
                     returnVal.Add("DebugType", "Full");
                     // TODO
                     //var pdbFileLoc = (sender as OptionCollection).GetModuleLocation(Assembly.PDBFile);
                     //commandLineBuilder.Add(System.String.Format("/pdb:\"{0}\"", pdbFileLoc.GetSinglePath()));
                 }
                 else
                 {
                     returnVal.Add("DebugSymbols", "true");
                 }
             }
             break;
         default:
             throw new Bam.Core.Exception("Unrecognized CSharp.EDebugInformation value");
     }
     return returnVal;
 }