summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-07-30 23:57:52 +0800
committerruki <[email protected]>2025-07-30 23:57:52 +0800
commit342d8b11ea90716383efc3b7a5f885f160b8b7b1 (patch)
tree3d3514eadbd98babe8dc1aaaaa6ca9b308e73273
parent14de61a60a778225b182b63109459bf1743e05f4 (diff)
fix binary not found #6655
-rw-r--r--xmake/modules/private/action/build/target.lua3
-rw-r--r--xmake/plugins/project/utils/target_cmds.lua3
2 files changed, 4 insertions, 2 deletions
diff --git a/xmake/modules/private/action/build/target.lua b/xmake/modules/private/action/build/target.lua
index f4caa90f2..370145188 100644
--- a/xmake/modules/private/action/build/target.lua
+++ b/xmake/modules/private/action/build/target.lua
@@ -290,6 +290,7 @@ function add_targetjobs(jobgraph, target, opt)
local buildcmds = opt.buildcmds
local job_kind = opt.job_kind
+ local for_generator = opt.for_generator
local job_begin = string.format("%s/begin_%s", target:fullname(), job_kind)
local job_end = string.format("%s/end_%s", target:fullname(), job_kind)
jobgraph:add(job_begin, function (index, total, opt)
@@ -315,7 +316,7 @@ function add_targetjobs(jobgraph, target, opt)
end
-- clean target first if rebuild
- if job_kind == "prepare" and target:is_rebuilt() and not option.get("dry-run") then
+ if job_kind == "prepare" and target:is_rebuilt() and not for_generator and not option.get("dry-run") then
_clean_target(target)
end
end)
diff --git a/xmake/plugins/project/utils/target_cmds.lua b/xmake/plugins/project/utils/target_cmds.lua
index d4073005c..8d40f2cb3 100644
--- a/xmake/plugins/project/utils/target_cmds.lua
+++ b/xmake/plugins/project/utils/target_cmds.lua
@@ -29,7 +29,7 @@ import("private.action.build.target", {alias = "target_buildutils"})
-- prepare targets
function prepare_targets()
local targets_root = target_buildutils.get_root_targets()
- target_buildutils.run_targetjobs(targets_root, {job_kind = "prepare"})
+ target_buildutils.run_targetjobs(targets_root, {job_kind = "prepare", for_generator = true})
end
-- get target buildcmds
@@ -58,6 +58,7 @@ function get_target_buildcmds(target, opt)
local buildcmds = batchcmds.new({target = target})
local jobgraph = target_buildutils.get_targetjobs({target}, {
job_kind = "build",
+ for_generator = true,
buildcmds = buildcmds,
with_stages = hashset.from(opt.stages or {}),
ignored_rules = hashset.from(opt.ignored_rules or {})})