fyne-cross is now an official Fyne project and has been moved to: https://github.com/fyne-io/fyne-cross
fyne-cross is a simple tool to cross compile and create distribution packages for Fyne applications.
It has been inspired by xgo and uses a docker image built on top of the golang-cross image, that includes the MinGW compiler for windows, and an OSX SDK, along with the Fyne requirements.
Supported targets are:
- darwin/amd64
- darwin/386
- freebsd/amd64
- linux/amd64
- linux/386
- linux/arm
- linux/arm64
- windows/amd64
- windows/386
- android
- ios
Note: iOS compilation is supported only on darwin hosts. See fyne README mobile for pre-requisites.
- go >= 1.13
- docker
- module-aware mode enabled
GO111MODULE=on go get github.com/lucor/fyne-cross/v2/cmd/fyne-cross
fyne-cross
will be installed in GOPATH/bin, unless GOBIN is set.
To update to a newer docker image the --pull
flag can be specified.
If set, fyne-cross will attempt to pull the image required to cross compile the application for the specified target.
For example:
fyne-cross linux --pull
will pull only the fyne-cross:base-latest
image required to cross compile for linux target.
To install a preview of the v2 version or help in testing:
go get github.com/lucor/fyne-cross/v2/cmd/fyne-cross@develop
fyne-cross <command> [options]
The commands are:
darwin Build and package a fyne application for the darwin OS
linux Build and package a fyne application for the linux OS
windows Build and package a fyne application for the windows OS
android Build and package a fyne application for the android OS
ios Build and package a fyne application for the iOS OS
freebsd Build and package a fyne application for the freebsd OS
version Print the fyne-cross version information
Use "fyne-cross <command> -help" for more information about a command.
The arch
flag support wildcards in case want to compile against all supported GOARCH for a specified GOOS
Example:
fyne-cross windows -arch=*
is equivalent to
fyne-cross windows -arch=amd64,386
The example below cross compile and package the fyne examples application
git clone https://github.com/fyne-io/examples.git
cd examples
fyne-cross linux
Note: by default fyne-cross will compile the package into the current dir.
The command above is equivalent to:
fyne-cross linux .
fyne-cross linux -output bugs ./cmd/bugs
- Fork and clone the repository
- Make and test your changes
- Open a pull request against the
develop
branch
See contributors page
OSX/Darwin/Apple builds: Please ensure you have read and understood the Xcode license terms before continuing.