summaryrefslogtreecommitdiff
path: root/xmake/actions/build/kinds/shared.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2017-07-05 09:19:59 +0800
committerruki <[email protected]>2017-07-05 09:20:11 +0800
commit2dc9b33e513e906f6b7b31f0df6b20f518924774 (patch)
tree205fb2bb51ece7771c43bd4a9ac3da9cd5593c9d /xmake/actions/build/kinds/shared.lua
parent4058f49432cd95263b8880960ab356bc8bcd96d0 (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.lua15
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