Skip to content

Commit

Permalink
Merge pull request #173 from helloimalemur/update_readme_doc
Browse files Browse the repository at this point in the history
readme (flags and targets)
  • Loading branch information
mdsteele committed Jan 20, 2024
2 parents 7716e38 + ee866d1 commit fd94ab5
Showing 1 changed file with 26 additions and 3 deletions.
29 changes: 26 additions & 3 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,39 @@ cross-compile and bundle an application for another OS, add an appropriate
`--target` flag, just as you would for `cargo build`.

## Flags

TODO(burtonageo): Write this
--all-features Build a bundle with all crate features.
--bin <NAME> Bundle the specified binary
--example <NAME> Bundle the specified example
--features <FEATURES> Set crate features for the bundle. Eg: `--features "f1 f2"`
--format <FORMAT> Which bundle format to produce [possible values: deb, ios, msi, osx, rpm]
-h, --help Prints help information
--no-default-features Build a bundle without the default crate features.
--profile <NAME> Build a bundle from a target build using the given profile
--release Build a bundle from a target built in release mode
--target <TRIPLE> Build a bundle for the target triple

## Targets
aarch64-unknown-linux-gnu ARM64 Linux (kernel 4.1, glibc 2.17+) 1
i686-pc-windows-gnu 32-bit MinGW (Windows 7+) 2 3
i686-pc-windows-msvc 32-bit MSVC (Windows 7+) 2 3
i686-unknown-linux-gnu 32-bit Linux (kernel 3.2+, glibc 2.17+) 3
x86_64-apple-darwin 64-bit macOS (10.12+, Sierra+)
x86_64-pc-windows-gnu 64-bit MinGW (Windows 7+) 2
x86_64-pc-windows-msvc 64-bit MSVC (Windows 7+) 2
x86_64-unknown-linux-gnu 64-bit Linux (kernel 3.2+, glibc 2.17+)

## Bundle manifest format

There are several fields in the `[package.metadata.bundle]` section.


### General settings

These settings apply to bundles for all (or most) OSes.

* `name`: The name of the built application. If this is not present, then it will use the `name` value from `bin`
target in your `Cargo.toml` file.
* `identifier`: [REQUIRED] A string that uniquely identifies your application,
* `identifier`: [**REQUIRED**] A string that uniquely identifies your application,
in reverse-DNS form (for example, `"com.example.appname"` or
`"io.github.username.project"`). For OS X and iOS, this is used as the
bundle's `CFBundleIdentifier` value; for Windows, this is hashed to create
Expand All @@ -66,6 +85,8 @@ These settings apply to bundles for all (or most) OSes.
will use the `description` value from your `Cargo.toml` file.
* `long_description`: [OPTIONAL] A longer, multi-line description of the application.

note: `description` is also **required** in the `[package]` section.

### Linux-specific settings

These settings are used only when bundling Linux compatible packages (currently `deb` only).
Expand Down Expand Up @@ -112,6 +133,8 @@ These settings are used only when bundling `osx` packages.
* `osx_url_schemes`: A list of strings indicating the URL schemes that the app
handles.

* note: Github Actions and Bitbucket Pipelines both have Apple MacOS build runners/containers available to use for free

### Example `Cargo.toml`:

```toml
Expand Down

0 comments on commit fd94ab5

Please sign in to comment.