diff options
| author | Arthur LAURENT <[email protected]> | 2024-07-24 02:29:45 +0200 |
|---|---|---|
| committer | Arthur LAURENT <[email protected]> | 2024-07-24 02:29:45 +0200 |
| commit | e2fb5383a099652e2ac29b139a60e3d723d66113 (patch) | |
| tree | 3c9bce246eeccddbe2029e639db4af0567813220 /xmake/rules/c++/modules/xmake.lua | |
| parent | df5cb9cce6cbb757c12f07677edf27b4be219f48 (diff) | |
fix objectfiles culling
Diffstat (limited to 'xmake/rules/c++/modules/xmake.lua')
| -rw-r--r-- | xmake/rules/c++/modules/xmake.lua | 10 |
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 = {} |
