diff --git a/cmd/project.go b/cmd/project.go index d4e878a0..fb6be97c 100644 --- a/cmd/project.go +++ b/cmd/project.go @@ -159,6 +159,7 @@ type ProjectOptions struct { WailsVersion string typescriptDefsFilename string Verbose bool `json:"-"` + Platform string } // Defaults sets the default project template diff --git a/cmd/wails/4_build.go b/cmd/wails/4_build.go index 40d7415c..30dc9f67 100644 --- a/cmd/wails/4_build.go +++ b/cmd/wails/4_build.go @@ -15,6 +15,7 @@ func init() { var debugMode = false var typescriptFilename = "" var verbose = false + var platform = "" buildSpinner := spinner.NewSpinner() buildSpinner.SetSpinSpeed(50) @@ -26,7 +27,8 @@ func init() { BoolFlag("f", "Force rebuild of application components", &forceRebuild). BoolFlag("d", "Build in Debug mode", &debugMode). BoolFlag("verbose", "Verbose output", &verbose). - StringFlag("t", "Generate Typescript definitions to given file (at runtime)", &typescriptFilename) + StringFlag("t", "Generate Typescript definitions to given file (at runtime)", &typescriptFilename). + StringFlag("x", "Cross-compile application to specified platform via xgo", &platform) initCmd.Action(func() error { @@ -130,6 +132,9 @@ func init() { buildSpinner.Success() } + // Set cross-compile + projectOptions.Platform = platform + err = cmd.BuildApplication(projectOptions.BinaryName, forceRebuild, buildMode, packageApp, projectOptions) if err != nil { return err