summaryrefslogtreecommitdiff
path: root/xmake/rules/xcode/framework/xmake.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2020-04-04 16:34:01 +0800
committerruki <[email protected]>2020-04-04 16:36:08 +0800
commit292ac7314365149af63264f6dc6a3e16cc25b8b0 (patch)
treee909929c009b2644687456987455abd93e426d6f /xmake/rules/xcode/framework/xmake.lua
parentdd8d60cd3a0ebde713fea7010926ab034243f884 (diff)
export frameworks
Diffstat (limited to 'xmake/rules/xcode/framework/xmake.lua')
-rw-r--r--xmake/rules/xcode/framework/xmake.lua15
1 files changed, 13 insertions, 2 deletions
diff --git a/xmake/rules/xcode/framework/xmake.lua b/xmake/rules/xcode/framework/xmake.lua
index fb61a25af..78a72a031 100644
--- a/xmake/rules/xcode/framework/xmake.lua
+++ b/xmake/rules/xcode/framework/xmake.lua
@@ -23,11 +23,22 @@ rule("xcode.framework")
-- we must set kind before target.on_load(), may we will use target in on_load()
before_load(function (target)
- local frameworkdir = path.join(target:targetdir(), target:basename() .. ".framework")
+
+ -- get framework directory
+ local targetdir = target:targetdir()
+ local frameworkdir = path.join(targetdir, target:basename() .. ".framework")
+ target:data_set("xcode.frameworkdir", frameworkdir)
+
+ -- set target info for framework
target:set("kind", "shared")
target:set("filename", target:basename())
target:set("targetdir", path.join(frameworkdir, "Versions", "A"))
- target:data_set("xcode.frameworkdir", frameworkdir)
+
+ -- export frameworks for `add_deps()`
+ target:add("frameworks", target:basename(), {interface = true})
+ target:add("frameworkdirs", targetdir, {interface = true})
+
+ -- register clean files for `xmake clean`
target:add("cleanfiles", frameworkdir)
end)