diff options
| author | ruki <[email protected]> | 2017-07-05 09:19:59 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-07-05 09:20:11 +0800 |
| commit | 2dc9b33e513e906f6b7b31f0df6b20f518924774 (patch) | |
| tree | 205fb2bb51ece7771c43bd4a9ac3da9cd5593c9d /xmake/actions/build/kinds/shared.lua | |
| parent | 4058f49432cd95263b8880960ab356bc8bcd96d0 (diff) | |
improve to link targets if objects and deps are not changed
Diffstat (limited to 'xmake/actions/build/kinds/shared.lua')
| -rw-r--r-- | xmake/actions/build/kinds/shared.lua | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/xmake/actions/build/kinds/shared.lua b/xmake/actions/build/kinds/shared.lua index d4fa90257..3cbcea9c8 100644 --- a/xmake/actions/build/kinds/shared.lua +++ b/xmake/actions/build/kinds/shared.lua @@ -34,9 +34,18 @@ function _build_from_objects(target, buildinfo) -- build objects object.build(target, buildinfo) - -- the object files are not modified? - if not buildinfo.objects_modified then - return + -- this target and it's deps are not modified? + local modified = buildinfo.modified[target:name()] + if not modified then + for _, depname in ipairs(target:get("deps")) do + modified = buildinfo.modified[depname] + if modified then + break + end + end + if not modified then + return + end end -- make headers |
