aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/CommandLine
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core/CommandLine')
-rw-r--r--src/WixToolset.Core/CommandLine/BuildCommand.cs32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/WixToolset.Core/CommandLine/BuildCommand.cs b/src/WixToolset.Core/CommandLine/BuildCommand.cs
index a55fb55b..718b3015 100644
--- a/src/WixToolset.Core/CommandLine/BuildCommand.cs
+++ b/src/WixToolset.Core/CommandLine/BuildCommand.cs
@@ -40,6 +40,10 @@ namespace WixToolset.Core.CommandLine
40 40
41 private List<string> IncludeSearchPaths { get; set; } 41 private List<string> IncludeSearchPaths { get; set; }
42 42
43 public string PdbFile { get; set; }
44
45 public PdbType PdbType { get; set; }
46
43 private Platform Platform { get; set; } 47 private Platform Platform { get; set; }
44 48
45 private string OutputFile { get; set; } 49 private string OutputFile { get; set; }
@@ -64,6 +68,10 @@ namespace WixToolset.Core.CommandLine
64 68
65 this.IncludeSearchPaths = this.commandLine.IncludeSearchPaths; 69 this.IncludeSearchPaths = this.commandLine.IncludeSearchPaths;
66 70
71 this.PdbFile = this.commandLine.PdbFile;
72
73 this.PdbType = this.commandLine.PdbType;
74
67 this.Platform = this.commandLine.Platform; 75 this.Platform = this.commandLine.Platform;
68 76
69 this.OutputFile = this.commandLine.OutputFile; 77 this.OutputFile = this.commandLine.OutputFile;
@@ -311,7 +319,8 @@ namespace WixToolset.Core.CommandLine
311 context.IntermediateFolder = intermediateFolder; 319 context.IntermediateFolder = intermediateFolder;
312 context.IntermediateRepresentation = resolveResult.IntermediateRepresentation; 320 context.IntermediateRepresentation = resolveResult.IntermediateRepresentation;
313 context.OutputPath = this.OutputFile; 321 context.OutputPath = this.OutputFile;
314 context.OutputPdbPath = Path.ChangeExtension(this.OutputFile, ".wixpdb"); 322 context.PdbType = this.PdbType;
323 context.PdbPath = this.PdbType == PdbType.None ? null : this.PdbFile ?? Path.ChangeExtension(this.OutputFile, ".wixpdb");
315 context.SuppressIces = Array.Empty<string>(); // TODO: set this correctly 324 context.SuppressIces = Array.Empty<string>(); // TODO: set this correctly
316 context.SuppressValidation = true; // TODO: set this correctly 325 context.SuppressValidation = true; // TODO: set this correctly
317 326
@@ -433,6 +442,10 @@ namespace WixToolset.Core.CommandLine
433 442
434 public Platform Platform { get; private set; } 443 public Platform Platform { get; private set; }
435 444
445 public string PdbFile { get; private set; }
446
447 public PdbType PdbType { get; private set; }
448
436 public bool ShowLogo { get; private set; } 449 public bool ShowLogo { get; private set; }
437 450
438 public bool ShowHelp { get; private set; } 451 public bool ShowHelp { get; private set; }
@@ -514,9 +527,11 @@ namespace WixToolset.Core.CommandLine
514 case "contentsfile": 527 case "contentsfile":
515 this.ContentsFile = parser.GetNextArgumentAsFilePathOrError(arg); 528 this.ContentsFile = parser.GetNextArgumentAsFilePathOrError(arg);
516 return true; 529 return true;
530
517 case "outputsfile": 531 case "outputsfile":
518 this.OutputsFile = parser.GetNextArgumentAsFilePathOrError(arg); 532 this.OutputsFile = parser.GetNextArgumentAsFilePathOrError(arg);
519 return true; 533 return true;
534
520 case "builtoutputsfile": 535 case "builtoutputsfile":
521 this.BuiltOutputsFile = parser.GetNextArgumentAsFilePathOrError(arg); 536 this.BuiltOutputsFile = parser.GetNextArgumentAsFilePathOrError(arg);
522 return true; 537 return true;
@@ -552,6 +567,21 @@ namespace WixToolset.Core.CommandLine
552 this.OutputType = parser.GetNextArgumentOrError(arg); 567 this.OutputType = parser.GetNextArgumentOrError(arg);
553 return true; 568 return true;
554 569
570 case "pdb":
571 this.PdbFile = parser.GetNextArgumentAsFilePathOrError(arg);
572 return true;
573
574 case "pdbtype":
575 {
576 var value = parser.GetNextArgumentOrError(arg);
577 if (Enum.TryParse(value, true, out PdbType pdbType))
578 {
579 this.PdbType = pdbType;
580 return true;
581 }
582 break;
583 }
584
555 case "nologo": 585 case "nologo":
556 this.ShowLogo = false; 586 this.ShowLogo = false;
557 return true; 587 return true;