get xcode sdk
This commit is contained in:
parent
8e76da4ac2
commit
4c90fbd7d1
3 changed files with 18 additions and 1 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
import "dart:io";
|
import "dart:io";
|
||||||
import "package:hooks/hooks.dart";
|
import "package:hooks/hooks.dart";
|
||||||
import "package:code_assets/code_assets.dart";
|
import "package:code_assets/code_assets.dart";
|
||||||
|
import "package:nexus/helpers/extensions/get_xcode_sdk.dart";
|
||||||
|
|
||||||
Future<void> main(List<String> args) => build(args, (input, output) async {
|
Future<void> main(List<String> args) => build(args, (input, output) async {
|
||||||
if (!input.config.buildCodeAssets) return;
|
if (!input.config.buildCodeAssets) return;
|
||||||
|
|
@ -16,6 +17,7 @@ Future<void> main(List<String> args) => build(args, (input, output) async {
|
||||||
break;
|
break;
|
||||||
case OS.macOS:
|
case OS.macOS:
|
||||||
libFileName = "libgomuks.dylib";
|
libFileName = "libgomuks.dylib";
|
||||||
|
env = {"SDKROOT": await getXCodeSDK()};
|
||||||
break;
|
break;
|
||||||
case OS.windows:
|
case OS.windows:
|
||||||
libFileName = "libgomuks.dll";
|
libFileName = "libgomuks.dll";
|
||||||
|
|
|
||||||
11
lib/helpers/extensions/get_xcode_sdk.dart
Normal file
11
lib/helpers/extensions/get_xcode_sdk.dart
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
import "dart:io";
|
||||||
|
|
||||||
|
Future<String> getXCodeSDK() async {
|
||||||
|
final result = await Process.run("xcrun", ["--show-sdk-path"]);
|
||||||
|
|
||||||
|
if (result.exitCode != 0) {
|
||||||
|
throw Exception("Failed to get XCode SDK\n${result.stderr}");
|
||||||
|
}
|
||||||
|
|
||||||
|
return result.stdout;
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import "dart:io";
|
import "dart:io";
|
||||||
import "package:ffigen/ffigen.dart";
|
import "package:ffigen/ffigen.dart";
|
||||||
import "package:path/path.dart";
|
import "package:path/path.dart";
|
||||||
|
import "package:nexus/helpers/extensions/get_xcode_sdk.dart";
|
||||||
|
|
||||||
void main(List<String> args) async {
|
void main(List<String> args) async {
|
||||||
final repoDir = Directory.fromUri(Platform.script.resolve("../gomuks"));
|
final repoDir = Directory.fromUri(Platform.script.resolve("../gomuks"));
|
||||||
|
|
@ -14,7 +15,10 @@ void main(List<String> args) async {
|
||||||
),
|
),
|
||||||
headers: Headers(
|
headers: Headers(
|
||||||
entryPoints: [File(join(repoDir.path, "pkg", "ffi", "gomuksffi.h")).uri],
|
entryPoints: [File(join(repoDir.path, "pkg", "ffi", "gomuksffi.h")).uri],
|
||||||
compilerOptions: ["--no-warnings"],
|
compilerOptions: [
|
||||||
|
"--no-warnings",
|
||||||
|
if (Platform.isMacOS) "${await getXCodeSDK()}/usr/include",
|
||||||
|
],
|
||||||
),
|
),
|
||||||
functions: Functions.includeAll,
|
functions: Functions.includeAll,
|
||||||
).generate(
|
).generate(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue