Prefer Cargo hardware sidecar only for workspace builds
This commit is contained in:
@@ -90,15 +90,20 @@ pub(super) fn default_sidecar_command() -> Result<SidecarCommandTarget, SidecarC
|
|||||||
})?;
|
})?;
|
||||||
let adjacent_sidecar = exe_dir.join(sidecar_binary_name());
|
let adjacent_sidecar = exe_dir.join(sidecar_binary_name());
|
||||||
let workspace_manifest = workspace_manifest_path();
|
let workspace_manifest = workspace_manifest_path();
|
||||||
|
let workspace_target_sidecar =
|
||||||
|
workspace_manifest.as_ref().and_then(|path| workspace_target_sidecar_path(path));
|
||||||
|
let adjacent_is_workspace_target =
|
||||||
|
workspace_target_sidecar.as_ref().is_some_and(|path| path == &adjacent_sidecar);
|
||||||
let prefer_cargo_hardware_sidecar = rendering_context_from_env()
|
let prefer_cargo_hardware_sidecar = rendering_context_from_env()
|
||||||
== SidecarRenderingContext::Hardware
|
== SidecarRenderingContext::Hardware
|
||||||
|
&& adjacent_is_workspace_target
|
||||||
&& workspace_manifest.as_ref().is_some_and(|path| path.is_file());
|
&& workspace_manifest.as_ref().is_some_and(|path| path.is_file());
|
||||||
if adjacent_sidecar.is_file() && !prefer_cargo_hardware_sidecar {
|
if adjacent_sidecar.is_file() && !prefer_cargo_hardware_sidecar {
|
||||||
return Ok(SidecarCommandTarget::Binary(adjacent_sidecar));
|
return Ok(SidecarCommandTarget::Binary(adjacent_sidecar));
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(manifest_path) = workspace_manifest {
|
if let Some(manifest_path) = workspace_manifest {
|
||||||
if let Some(target_sidecar) = workspace_target_sidecar_path(&manifest_path)
|
if let Some(target_sidecar) = workspace_target_sidecar
|
||||||
&& target_sidecar.is_file()
|
&& target_sidecar.is_file()
|
||||||
&& !prefer_cargo_hardware_sidecar
|
&& !prefer_cargo_hardware_sidecar
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user