summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/xmake.lua
diff options
context:
space:
mode:
authorArthur LAURENT <[email protected]>2024-07-24 02:29:45 +0200
committerArthur LAURENT <[email protected]>2024-07-24 02:29:45 +0200
commite2fb5383a099652e2ac29b139a60e3d723d66113 (patch)
tree3c9bce246eeccddbe2029e639db4af0567813220 /xmake/rules/c++/modules/xmake.lua
parentdf5cb9cce6cbb757c12f07677edf27b4be219f48 (diff)
fix objectfiles culling
Diffstat (limited to 'xmake/rules/c++/modules/xmake.lua')
-rw-r--r--xmake/rules/c++/modules/xmake.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/xmake/rules/c++/modules/xmake.lua b/xmake/rules/c++/modules/xmake.lua
index 67a4a1497..7fa967b01 100644
--- a/xmake/rules/c++/modules/xmake.lua
+++ b/xmake/rules/c++/modules/xmake.lua
@@ -107,13 +107,16 @@ rule("c++.build.modules.builder")
if not target:is_moduleonly() then
-- avoid building non referenced modules
- sourcebatch.objectfiles = dependency_scanner.sort_modules_by_dependencies(target, sourcebatch.objectfiles, modules)
+ local build_objectfiles, link_objectfiles = dependency_scanner.sort_modules_by_dependencies(target, sourcebatch.objectfiles, modules)
+ sourcebatch.objectfiles = build_objectfiles
-- build modules
builder.build_modules_for_batchjobs(target, batchjobs, sourcebatch, modules, opt)
-- build headerunits and we need to do it before building modules
builder.build_headerunits_for_batchjobs(target, batchjobs, sourcebatch, modules, opt)
+
+ sourcebatch.objectfiles = link_objectfiles
else
sourcebatch.objectfiles = {}
end
@@ -165,13 +168,16 @@ rule("c++.build.modules.builder")
if not target:is_moduleonly() then
-- avoid building non referenced modules
- sourcebatch.objectfiles = dependency_scanner.sort_modules_by_dependencies(target, sourcebatch.objectfiles, modules)
+ local build_objectfiles, link_objectfiles = dependency_scanner.sort_modules_by_dependencies(target, sourcebatch.objectfiles, modules)
+ sourcebatch.objectfiles = build_objectfiles
-- build headerunits
builder.build_headerunits_for_batchcmds(target, batchcmds, sourcebatch, modules, opt)
-- build modules
builder.build_modules_for_batchcmds(target, batchcmds, sourcebatch, modules, opt)
+
+ sourcebatch.objectfiles = link_objectfiles
else
-- avoid duplicate linking of object files of non-module programs
sourcebatch.objectfiles = {}