forked from Nexus/nexus
Consolidate getXCodeSDK/getXCodeClang into a single getXCodeTool
This commit is contained in:
parent
90a5579e7c
commit
d25d24a692
2 changed files with 9 additions and 17 deletions
|
|
@ -28,7 +28,7 @@ Future<void> main(List<String> args) => build(args, (input, output) async {
|
|||
final iosConfig = codeConfig.iOS;
|
||||
iosSdk = iosConfig.targetSdk;
|
||||
final minVersion = iosConfig.targetVersion;
|
||||
iosSdkPath = await getXCodeSDK(sdkType: iosSdk.type);
|
||||
iosSdkPath = await getXCodeTool(sdkType: iosSdk.type);
|
||||
final archTriple = switch (targetArch) {
|
||||
Architecture.arm64 => "arm64",
|
||||
Architecture.x64 => "x86_64",
|
||||
|
|
@ -41,14 +41,14 @@ Future<void> main(List<String> args) => build(args, (input, output) async {
|
|||
: "$archTriple-apple-ios$minVersion.0";
|
||||
extraEnv = {
|
||||
"GOOS": "ios",
|
||||
"CC": await getXCodeClang(sdkType: iosSdk.type),
|
||||
"CC": await getXCodeTool(sdkType: iosSdk.type, findTool: "clang"),
|
||||
"CGO_CFLAGS": "-isysroot $iosSdkPath -target $iosTargetTriple",
|
||||
"CGO_LDFLAGS": "-isysroot $iosSdkPath -target $iosTargetTriple",
|
||||
};
|
||||
break;
|
||||
case OS.macOS:
|
||||
libFileName = "libgomuks.dylib";
|
||||
extraEnv = {"SDKROOT": await getXCodeSDK()};
|
||||
extraEnv = {"SDKROOT": await getXCodeTool()};
|
||||
break;
|
||||
case OS.windows:
|
||||
libFileName = "libgomuks.dll";
|
||||
|
|
|
|||
|
|
@ -1,22 +1,14 @@
|
|||
import "dart:io";
|
||||
|
||||
Future<String> _runXcrun(List<String> args, String errorContext) async {
|
||||
final result = await Process.run("xcrun", args);
|
||||
Future<String> getXCodeTool({String? sdkType, String? findTool}) async {
|
||||
final result = await Process.run("xcrun", [
|
||||
if (sdkType != null) ...["--sdk", sdkType],
|
||||
if (findTool != null) ...["-f", findTool] else "--show-sdk-path",
|
||||
]);
|
||||
|
||||
if (result.exitCode != 0) {
|
||||
throw Exception("Failed to $errorContext\n${result.stderr}");
|
||||
throw Exception("Failed to run xcrun\n${result.stderr}");
|
||||
}
|
||||
|
||||
return result.stdout.toString().trim();
|
||||
}
|
||||
|
||||
Future<String> getXCodeSDK({String? sdkType}) => _runXcrun([
|
||||
if (sdkType != null) ...["--sdk", sdkType],
|
||||
"--show-sdk-path",
|
||||
], "get XCode SDK");
|
||||
|
||||
Future<String> getXCodeClang({String? sdkType}) => _runXcrun([
|
||||
if (sdkType != null) ...["--sdk", sdkType],
|
||||
"-f",
|
||||
"clang",
|
||||
], "get XCode clang");
|
||||
|
|
|
|||
Loading…
Reference in a new issue