rustLibCandidates function
Locations a built Rust cdylib may live, fastest/most-likely first.
Implementation
List<String> rustLibCandidates({String? checkoutRelativeRustDir}) {
final name = precompiledRustLibFileName();
final rustDir = checkoutRelativeRustDir ?? checkoutRustDir;
final cargoDebug = '$rustDir/target/debug/$name';
final cargoRelease = '$rustDir/target/release/$name';
if (Platform.isLinux) {
return [
cargoRelease,
cargoDebug,
'build/linux/x64/release/bundle/lib/$name',
'build/linux/x64/debug/bundle/lib/$name',
];
}
if (Platform.isMacOS) {
return [
cargoRelease,
cargoDebug,
'build/macos/Build/Products/Release/$name',
'build/macos/Build/Products/Debug/$name',
];
}
if (Platform.isWindows) {
return [
cargoRelease,
cargoDebug,
'build/windows/x64/runner/Release/$name',
'build/windows/x64/runner/Debug/$name',
];
}
return [cargoRelease, cargoDebug];
}