diff --git a/lib/std/build.zig b/lib/std/build.zig index 1cbf188d2c..b47f962a9d 100644 --- a/lib/std/build.zig +++ b/lib/std/build.zig @@ -1898,7 +1898,11 @@ pub const LibExeObjStep = struct { pub fn runEmulatable(exe: *LibExeObjStep) *EmulatableRunStep { assert(exe.kind == .exe or exe.kind == .test_exe); - return EmulatableRunStep.create(exe.builder, exe.builder.fmt("run {s}", .{exe.step.name}), exe); + const run_step = EmulatableRunStep.create(exe.builder, exe.builder.fmt("run {s}", .{exe.step.name}), exe); + if (exe.vcpkg_bin_path) |path| { + RunStep.addPathDirInternal(&run_step.step, exe.builder, path); + } + return run_step; } pub fn checkObject(self: *LibExeObjStep, obj_format: std.Target.ObjectFormat) *CheckObjectStep { diff --git a/lib/std/build/RunStep.zig b/lib/std/build/RunStep.zig index 1e22fd10a3..168f5d9d58 100644 --- a/lib/std/build/RunStep.zig +++ b/lib/std/build/RunStep.zig @@ -101,7 +101,7 @@ pub fn addPathDir(self: *RunStep, search_path: []const u8) void { } /// For internal use only, users of `RunStep` should use `addPathDir` directly. -fn addPathDirInternal(step: *Step, builder: *Builder, search_path: []const u8) void { +pub fn addPathDirInternal(step: *Step, builder: *Builder, search_path: []const u8) void { const env_map = getEnvMapInternal(step, builder.allocator); const key = "PATH";