feat(cli): add --use-cross command for building with cross
(#1584)
closes #1582
This commit is contained in:
parent
31ce5eb823
commit
58600883dd
4 changed files with 19 additions and 1 deletions
|
@ -227,6 +227,12 @@ const BUILD_OPTIONS: CommandSchema = {
|
|||
'[experimental] cross-compile for the specified target with `cargo-xwin` on windows and `cargo-zigbuild` on other platform',
|
||||
short: 'x',
|
||||
},
|
||||
{
|
||||
name: 'useCross',
|
||||
type: 'boolean',
|
||||
description:
|
||||
'[experimental] use [cross](https://github.com/cross-rs/cross) instead of `cargo`',
|
||||
},
|
||||
{
|
||||
name: 'watch',
|
||||
type: 'boolean',
|
||||
|
|
|
@ -44,6 +44,7 @@ new NapiCli().build({
|
|||
| bin | --bin | string | false | | Build only the specified binary |
|
||||
| package | --package,-p | string | false | | Build the specified library or the one at cwd |
|
||||
| crossCompile | --cross-compile,-x | boolean | false | | [experimental] cross-compile for the specified target with `cargo-xwin` on windows and `cargo-zigbuild` on other platform |
|
||||
| useCross | --use-cross | boolean | false | | [experimental] use [cross](https://github.com/cross-rs/cross) instead of `cargo` |
|
||||
| watch | --watch,-w | boolean | false | | watch the crate changes and build continiously with `cargo-watch` crates |
|
||||
| features | --features,-F | string[] | false | | Space-separated list of features to activate |
|
||||
| allFeatures | --all-features | boolean | false | | Activate all available features |
|
||||
|
|
|
@ -150,7 +150,8 @@ class Builder {
|
|||
const controller = new AbortController()
|
||||
|
||||
const buildTask = new Promise<void>((resolve, reject) => {
|
||||
const buildProcess = spawn('cargo', this.args, {
|
||||
const command = this.options.useCross ? 'cross' : 'cargo'
|
||||
const buildProcess = spawn(command, this.args, {
|
||||
env: {
|
||||
...process.env,
|
||||
...this.envs,
|
||||
|
|
|
@ -97,6 +97,11 @@ export abstract class BaseBuildCommand extends Command {
|
|||
'[experimental] cross-compile for the specified target with `cargo-xwin` on windows and `cargo-zigbuild` on other platform',
|
||||
})
|
||||
|
||||
useCross?: boolean = Option.Boolean('--use-cross', {
|
||||
description:
|
||||
'[experimental] use [cross](https://github.com/cross-rs/cross) instead of `cargo`',
|
||||
})
|
||||
|
||||
watch?: boolean = Option.Boolean('--watch,-w', {
|
||||
description:
|
||||
'watch the crate changes and build continiously with `cargo-watch` crates',
|
||||
|
@ -135,6 +140,7 @@ export abstract class BaseBuildCommand extends Command {
|
|||
bin: this.bin,
|
||||
package: this.package,
|
||||
crossCompile: this.crossCompile,
|
||||
useCross: this.useCross,
|
||||
watch: this.watch,
|
||||
features: this.features,
|
||||
allFeatures: this.allFeatures,
|
||||
|
@ -223,6 +229,10 @@ export interface BuildOptions {
|
|||
* [experimental] cross-compile for the specified target with `cargo-xwin` on windows and `cargo-zigbuild` on other platform
|
||||
*/
|
||||
crossCompile?: boolean
|
||||
/**
|
||||
* [experimental] use [cross](https://github.com/cross-rs/cross) instead of `cargo`
|
||||
*/
|
||||
useCross?: boolean
|
||||
/**
|
||||
* watch the crate changes and build continiously with `cargo-watch` crates
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue