diff options
| author | Grace Yoder <grace_yoder@outlook.com> | 2026-06-30 14:11:34 -0600 |
|---|---|---|
| committer | Grace Yoder <grace_yoder@outlook.com> | 2026-07-01 18:05:31 -0600 |
| commit | 1be3e0468dfbb6cb2b786864b02051ee59188ed9 (patch) | |
| tree | ac83f7fbf981b9c3cb4d1e5ff8c43960319726a6 | |
| parent | 63265d1d7e36c4150df3bdc00bfda2391a54b916 (diff) | |
build: updated pipelines to use cargo-zigbuild container to work with apple and be faster
| -rw-r--r-- | .crow/build.yml | 39 | ||||
| -rw-r--r-- | build.zig | 10 |
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 @@ -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", .{}); } |
