From f1ddeb81aa8c709582fc11a5711b39da596f4f22 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Tue, 17 Mar 2020 21:16:55 -0400 Subject: Partial WixPdbs stop the backend before binding. --- src/WixToolset.Core/CommandLine/BuildCommand.cs | 32 ++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'src/WixToolset.Core/CommandLine/BuildCommand.cs') 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 private List IncludeSearchPaths { get; set; } + public string PdbFile { get; set; } + + public PdbType PdbType { get; set; } + private Platform Platform { get; set; } private string OutputFile { get; set; } @@ -64,6 +68,10 @@ namespace WixToolset.Core.CommandLine this.IncludeSearchPaths = this.commandLine.IncludeSearchPaths; + this.PdbFile = this.commandLine.PdbFile; + + this.PdbType = this.commandLine.PdbType; + this.Platform = this.commandLine.Platform; this.OutputFile = this.commandLine.OutputFile; @@ -311,7 +319,8 @@ namespace WixToolset.Core.CommandLine context.IntermediateFolder = intermediateFolder; context.IntermediateRepresentation = resolveResult.IntermediateRepresentation; context.OutputPath = this.OutputFile; - context.OutputPdbPath = Path.ChangeExtension(this.OutputFile, ".wixpdb"); + context.PdbType = this.PdbType; + context.PdbPath = this.PdbType == PdbType.None ? null : this.PdbFile ?? Path.ChangeExtension(this.OutputFile, ".wixpdb"); context.SuppressIces = Array.Empty(); // TODO: set this correctly context.SuppressValidation = true; // TODO: set this correctly @@ -433,6 +442,10 @@ namespace WixToolset.Core.CommandLine public Platform Platform { get; private set; } + public string PdbFile { get; private set; } + + public PdbType PdbType { get; private set; } + public bool ShowLogo { get; private set; } public bool ShowHelp { get; private set; } @@ -514,9 +527,11 @@ namespace WixToolset.Core.CommandLine case "contentsfile": this.ContentsFile = parser.GetNextArgumentAsFilePathOrError(arg); return true; + case "outputsfile": this.OutputsFile = parser.GetNextArgumentAsFilePathOrError(arg); return true; + case "builtoutputsfile": this.BuiltOutputsFile = parser.GetNextArgumentAsFilePathOrError(arg); return true; @@ -552,6 +567,21 @@ namespace WixToolset.Core.CommandLine this.OutputType = parser.GetNextArgumentOrError(arg); return true; + case "pdb": + this.PdbFile = parser.GetNextArgumentAsFilePathOrError(arg); + return true; + + case "pdbtype": + { + var value = parser.GetNextArgumentOrError(arg); + if (Enum.TryParse(value, true, out PdbType pdbType)) + { + this.PdbType = pdbType; + return true; + } + break; + } + case "nologo": this.ShowLogo = false; return true; -- cgit v1.2.3-55-g6feb