build: updated pipelines to use cargo-zigbuild container to work with apple and be faster
This commit is contained in:
parent
63265d1d7e
commit
1be3e0468d
2 changed files with 24 additions and 25 deletions
|
|
@ -7,42 +7,33 @@ clone:
|
||||||
settings:
|
settings:
|
||||||
tags: true
|
tags: true
|
||||||
|
|
||||||
|
variables:
|
||||||
|
- &zig_image 'ghcr.io/rust-cross/cargo-zigbuild:0.23'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-linux-x86_64
|
- name: build-linux-x86_64
|
||||||
image: alpine:3.20
|
image: *zig_image
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache curl xz
|
- zig build -Dtarget=x86_64-linux-musl -Doptimize=ReleaseSafe --prefix zig-out-linux-x86_64
|
||||||
- curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
|
- cp zig-out-linux-x86_64/bin/tpb tpb-linux-x86_64
|
||||||
- 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
|
|
||||||
|
|
||||||
- name: build-linux-aarch64
|
- name: build-linux-aarch64
|
||||||
image: alpine:3.20
|
image: *zig_image
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache curl xz
|
- zig build -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSafe --prefix zig-out-linux-aarch64
|
||||||
- curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
|
- cp zig-out-linux-aarch64/bin/tpb tpb-linux-aarch64
|
||||||
- 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
|
|
||||||
|
|
||||||
- name: build-macos-x86_64
|
- name: build-macos-x86_64
|
||||||
image: alpine:3.20
|
image: *zig_image
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache curl xz
|
- zig build -Dtarget=x86_64-macos -Doptimize=ReleaseSafe --prefix zig-out-macos-x86_64 --sysroot /opt/MacOSX11.3.sdk
|
||||||
- curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
|
- cp zig-out-macos-x86_64/bin/tpb tpb-macos-x86_64
|
||||||
- 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
|
|
||||||
|
|
||||||
- name: build-macos-aarch64
|
- name: build-macos-aarch64
|
||||||
image: alpine:3.20
|
image: *zig_image
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache curl xz
|
- zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe --prefix zig-out-macos-aarch64 --sysroot /opt/MacOSX11.3.sdk
|
||||||
- curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
|
- cp zig-out-macos-aarch64/bin/tpb tpb-macos-aarch64
|
||||||
- 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
|
|
||||||
|
|
||||||
|
|
||||||
- name: release
|
- name: release
|
||||||
|
|
|
||||||
10
build.zig
10
build.zig
|
|
@ -29,12 +29,20 @@ pub fn build(b: *std.Build) void {
|
||||||
.language = .objective_c,
|
.language = .objective_c,
|
||||||
.flags = &.{"-fobjc-arc"},
|
.flags = &.{"-fobjc-arc"},
|
||||||
});
|
});
|
||||||
exe.root_module.linkFramework("Cocoa", .{});
|
|
||||||
tests.root_module.addCSourceFiles(.{
|
tests.root_module.addCSourceFiles(.{
|
||||||
.files = &.{"src/Clip/NSPBBridge.m"},
|
.files = &.{"src/Clip/NSPBBridge.m"},
|
||||||
.language = .objective_c,
|
.language = .objective_c,
|
||||||
.flags = &.{"-fobjc-arc"},
|
.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", .{});
|
tests.root_module.linkFramework("Cocoa", .{});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue