From 339cae7fd0af5730673fcba7d97568af24b5aa4f Mon Sep 17 00:00:00 2001 From: Eric Joldasov Date: Tue, 10 Jan 2023 13:20:40 +0600 Subject: [PATCH] cmake: install zig to 'build_dir/stage3' during building This commit installs Zig to "build_dir/stage3" during building so that distros' can easily find binary and use it for testing/etc. This commit also splits "add_custom_target(stage3 ALL" and command that it invokes, so that it won't retry it during installation, as target will be considered not out-of-date. See also https://www.github.com/ziglang/zig/issues/14240#issuecomment-1374642063 --- CMakeLists.txt | 8 ++++++-- build.zig | 3 --- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7c63bff6e0..23222d73c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -860,8 +860,12 @@ set(ZIG_BUILD_ARGS ) add_custom_target(stage3 ALL - COMMAND zig2 build compile ${ZIG_BUILD_ARGS} - DEPENDS zig2 + DEPENDS "${CMAKE_BINARY_DIR}/stage3/bin/zig" +) + +add_custom_command( + OUTPUT "${CMAKE_BINARY_DIR}/stage3/bin/zig" + COMMAND zig2 build --prefix "${CMAKE_BINARY_DIR}/stage3" ${ZIG_BUILD_ARGS} COMMENT STATUS "Building stage3" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" ) diff --git a/build.zig b/build.zig index 6cb3e35488..78345ac9e4 100644 --- a/build.zig +++ b/build.zig @@ -179,9 +179,6 @@ pub fn build(b: *std.Build) !void { exe.entitlements = entitlements; b.installArtifact(exe); - const compile_step = b.step("compile", "Build the self-hosted compiler"); - compile_step.dependOn(&exe.step); - test_step.dependOn(&exe.step); exe.single_threaded = single_threaded;