summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmake/rules/c++/modules/modules_support/clang.lua18
1 files changed, 9 insertions, 9 deletions
diff --git a/xmake/rules/c++/modules/modules_support/clang.lua b/xmake/rules/c++/modules/modules_support/clang.lua
index fc62a140d..eeb0cdf8a 100644
--- a/xmake/rules/c++/modules/modules_support/clang.lua
+++ b/xmake/rules/c++/modules/modules_support/clang.lua
@@ -668,6 +668,7 @@ function build_modules_for_batchjobs(target, batchjobs, objectfiles, modules, op
end
end
target:fileconfig_add(cppfile, {force = {cxxflags = cxxflags}})
+
-- force rebuild .cpp file if any of its module dependency is rebuilt
local rebuild = false
for _, requiredfile in ipairs(requires) do
@@ -677,7 +678,7 @@ function build_modules_for_batchjobs(target, batchjobs, objectfiles, modules, op
end
end
if rebuild then
- os.rm(target:objectfile(cppfile))
+ os.tryrm(target:objectfile(cppfile))
end
end
end)})
@@ -932,14 +933,13 @@ function get_moduleoutputflag(target)
end
function get_requires(target, requires)
- local flags = get_requiresflags(target, requires)
- local requires
- for _, flag in ipairs(flags) do
- requires = requires or {}
- table.insert(requires, flag:split("=")[3])
- end
-
- return requires
+ local requires
+ local flags = get_requiresflags(target, requires)
+ for _, flag in ipairs(flags) do
+ requires = requires or {}
+ table.insert(requires, flag:split("=")[3])
+ end
+ return requires
end
function get_requiresflags(target, requires)