diff --git a/packages/cli/src/build/request.rs b/packages/cli/src/build/request.rs index c4e288ea1..618223f10 100644 --- a/packages/cli/src/build/request.rs +++ b/packages/cli/src/build/request.rs @@ -270,6 +270,12 @@ impl BuildRequest { true => cargo_args.push("release".to_string()), false => cargo_args.push(self.build.server_profile.to_string()), }; + + // If the user provided a server target, use it, otherwise use the default host target. + if let Some(target) = self.build.target_args.server_target.as_deref() { + cargo_args.push("--target".to_string()); + cargo_args.push(target.to_string()); + } } else { // Add required profile flags. --release overrides any custom profiles. let custom_profile = &self.build.profile.as_ref(); diff --git a/packages/cli/src/cli/target.rs b/packages/cli/src/cli/target.rs index b0099fb2d..57914f8b4 100644 --- a/packages/cli/src/cli/target.rs +++ b/packages/cli/src/cli/target.rs @@ -48,6 +48,10 @@ pub(crate) struct TargetArgs { /// Rustc platform triple #[clap(long)] pub(crate) target: Option, + + /// Specify the server rustc target triple. + #[clap(long)] + pub(crate) server_target: Option, } impl TargetArgs {