2020-04-09 18:06:01 +02:00
using System.Collections.Generic ;
using CommandLine ;
namespace GameBundle {
public class Options {
2020-04-09 18:30:30 +02:00
[Option('s', "source", HelpText = "The location of the .csproj file that should be built and bundled. By default, the current directory is scanned for one")]
2020-04-09 18:06:01 +02:00
public string SourceFile { get ; set ; }
2020-04-09 18:30:30 +02:00
[Option('o', "output", Default = "bin/Bundled", HelpText = "The location of the directory that the bundles should be stored in")]
2020-04-09 18:06:01 +02:00
public string OutputDirectory { get ; set ; }
2020-04-09 20:31:43 +02:00
[Option('v', "verbose")]
2020-04-09 18:06:01 +02:00
public bool Verbose { get ; set ; }
2020-04-10 12:48:10 +02:00
[Option('w', "win", HelpText = "Bundle for windows")]
public bool BuildWindows { get ; set ; }
[Option('l', "linux", HelpText = "Bundle for linux")]
public bool BuildLinux { get ; set ; }
[Option('m', "mac", HelpText = "Bundle for mac")]
public bool BuildMac { get ; set ; }
2020-04-09 18:06:01 +02:00
2020-04-11 17:26:07 +02:00
[Option('e', "exclude", Default = new[] { "openal" , "oal" , "sdl2" , "SDL2" } , HelpText = "Files like unmanaged libraries that should not be moved to the library folder" ) ]
2020-04-09 18:06:01 +02:00
public string [ ] ExcludedFiles { get ; set ; }
2020-04-09 20:31:43 +02:00
[Option("32-bit", HelpText = "Publish for 32 bit instead of 64 bit. Note that this is only possible on Windows")]
2020-04-09 18:06:01 +02:00
public bool Publish32Bit { get ; set ; }
2020-04-09 20:31:43 +02:00
[Option('t', "no-trim", HelpText = "Skip trimming the application when publishing")]
public bool NoTrim { get ; set ; }
[Option('c', "config", Default = "Release", HelpText = "The build configuration to use")]
public string BuildConfig { get ; set ; }
2020-04-11 17:26:07 +02:00
[Option("lib-name", Default = "Lib", HelpText = "The name of the library folder that is created")]
public string LibFolder { get ; set ; }
2020-04-09 18:06:01 +02:00
}
}