diff options
Diffstat (limited to 'src/WixToolset.Core/CommandLine')
-rw-r--r-- | src/WixToolset.Core/CommandLine/BuildCommand.cs | 32 |
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; |