From 870d523687cbeeab3432abdb5a07a5250c5e1bc4 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Tue, 26 Jan 2021 11:39:56 -0500 Subject: Add DefaultCompressionLevel support. --- src/WixToolset.Core/CommandLine/BuildCommand.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/WixToolset.Core/CommandLine') diff --git a/src/WixToolset.Core/CommandLine/BuildCommand.cs b/src/WixToolset.Core/CommandLine/BuildCommand.cs index 065467bd..2216a80f 100644 --- a/src/WixToolset.Core/CommandLine/BuildCommand.cs +++ b/src/WixToolset.Core/CommandLine/BuildCommand.cs @@ -50,6 +50,8 @@ namespace WixToolset.Core.CommandLine private string OutputFile { get; set; } + private CompressionLevel? DefaultCompressionLevel { get; set; } + private string ContentsFile { get; set; } private string OutputsFile { get; set; } @@ -82,6 +84,8 @@ namespace WixToolset.Core.CommandLine this.BuiltOutputsFile = this.commandLine.BuiltOutputsFile; + this.DefaultCompressionLevel = this.commandLine.DefaultCompressionLevel; + var preprocessorVariables = this.commandLine.GatherPreprocessorVariables(); var sourceFiles = this.commandLine.GatherSourceFiles(this.IntermediateFolder); @@ -335,7 +339,7 @@ namespace WixToolset.Core.CommandLine //context.CabbingThreadCount = this.CabbingThreadCount; context.CabCachePath = cabCachePath; context.Codepage = resolveResult.Codepage; - //context.DefaultCompressionLevel = this.DefaultCompressionLevel; + context.DefaultCompressionLevel = this.DefaultCompressionLevel; context.DelayedFields = resolveResult.DelayedFields; context.ExpectedEmbeddedFiles = resolveResult.ExpectedEmbeddedFiles; context.Extensions = this.ExtensionManager.GetServices(); @@ -529,6 +533,8 @@ namespace WixToolset.Core.CommandLine public string OutputType { get; private set; } + public CompressionLevel? DefaultCompressionLevel { get; private set; } + public string ContentsFile { get; private set; } public string OutputsFile { get; private set; } @@ -611,6 +617,18 @@ namespace WixToolset.Core.CommandLine parser.GetNextArgumentOrError(arg, this.Defines); return true; + case "dcl": + case "defaultcompressionlevel": + { + var value = parser.GetNextArgumentOrError(arg); + if (Enum.TryParse(value, true, out CompressionLevel compressionLevel)) + { + this.DefaultCompressionLevel = compressionLevel; + return true; + } + return false; + } + case "i": case "includepath": parser.GetNextArgumentOrError(arg, this.IncludeSearchPaths); -- cgit v1.2.3-55-g6feb