aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.crow/build.yml39
-rw-r--r--build.zig10
2 files changed, 24 insertions, 25 deletions
diff --git a/.crow/build.yml b/.crow/build.yml
index e6945f6..5859643 100644
--- a/.crow/build.yml
+++ b/.crow/build.yml
@@ -7,42 +7,33 @@ clone:
settings:
tags: true
+variables:
+ - &zig_image 'ghcr.io/rust-cross/cargo-zigbuild:0.23'
+
steps:
- name: build-linux-x86_64
- image: alpine:3.20
+ image: *zig_image
commands:
- - apk add --no-cache curl xz
- - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
- - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
- - zig build -Dtarget=x86_64-linux-musl -Doptimize=ReleaseSafe
- - cp zig-out/bin/tpb tpb-linux-x86_64
+ - zig build -Dtarget=x86_64-linux-musl -Doptimize=ReleaseSafe --prefix zig-out-linux-x86_64
+ - cp zig-out-linux-x86_64/bin/tpb tpb-linux-x86_64
- name: build-linux-aarch64
- image: alpine:3.20
+ image: *zig_image
commands:
- - apk add --no-cache curl xz
- - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
- - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
- - zig build -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSafe
- - cp zig-out/bin/tpb tpb-linux-aarch64
+ - zig build -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSafe --prefix zig-out-linux-aarch64
+ - cp zig-out-linux-aarch64/bin/tpb tpb-linux-aarch64
- name: build-macos-x86_64
- image: alpine:3.20
+ image: *zig_image
commands:
- - apk add --no-cache curl xz
- - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
- - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
- - zig build -Dtarget=x86_64-macos -Doptimize=ReleaseSafe
- - cp zig-out/bin/tpb tpb-macos-x86_64
+ - zig build -Dtarget=x86_64-macos -Doptimize=ReleaseSafe --prefix zig-out-macos-x86_64 --sysroot /opt/MacOSX11.3.sdk
+ - cp zig-out-macos-x86_64/bin/tpb tpb-macos-x86_64
- name: build-macos-aarch64
- image: alpine:3.20
+ image: *zig_image
commands:
- - apk add --no-cache curl xz
- - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
- - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
- - zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe
- - cp zig-out/bin/tpb tpb-macos-aarch64
+ - zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe --prefix zig-out-macos-aarch64 --sysroot /opt/MacOSX11.3.sdk
+ - cp zig-out-macos-aarch64/bin/tpb tpb-macos-aarch64
- name: release
diff --git a/build.zig b/build.zig
index 59c2f26..76e2321 100644
--- a/build.zig
+++ b/build.zig
@@ -29,12 +29,20 @@ pub fn build(b: *std.Build) void {
.language = .objective_c,
.flags = &.{"-fobjc-arc"},
});
- exe.root_module.linkFramework("Cocoa", .{});
tests.root_module.addCSourceFiles(.{
.files = &.{"src/Clip/NSPBBridge.m"},
.language = .objective_c,
.flags = &.{"-fobjc-arc"},
});
+ if (b.sysroot) |sysroot| {
+ const framework_path = b.pathJoin(&.{ sysroot, "System/Library/Frameworks" });
+ const include_path = b.pathJoin(&.{ sysroot, "usr/include" });
+ exe.root_module.addSystemFrameworkPath(.{ .cwd_relative = framework_path });
+ exe.root_module.addSystemIncludePath(.{ .cwd_relative = include_path });
+ tests.root_module.addSystemFrameworkPath(.{ .cwd_relative = framework_path });
+ tests.root_module.addSystemIncludePath(.{ .cwd_relative = include_path });
+ }
+ exe.root_module.linkFramework("Cocoa", .{});
tests.root_module.linkFramework("Cocoa", .{});
}