diff options
| author | ruki <[email protected]> | 2020-04-04 20:14:50 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-04-04 20:14:50 +0800 |
| commit | c7cb8b53e3c55986488b59aaf1c4c8eb7f191769 (patch) | |
| tree | 8b44ca62092524587ea706181c1e8e43dc663bc5 /xmake/rules/xcode/framework/xmake.lua | |
| parent | 06fd899783907bef41d1c3b4d6a7b5ed9a06b54c (diff) | |
improve xcode.framework rule
Diffstat (limited to 'xmake/rules/xcode/framework/xmake.lua')
| -rw-r--r-- | xmake/rules/xcode/framework/xmake.lua | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/xmake/rules/xcode/framework/xmake.lua b/xmake/rules/xcode/framework/xmake.lua index f4439acb6..dca0097a2 100644 --- a/xmake/rules/xcode/framework/xmake.lua +++ b/xmake/rules/xcode/framework/xmake.lua @@ -23,7 +23,6 @@ rule("xcode.framework") -- we must set kind before target.on_load(), may we will use target in on_load() before_load(function (target) - -- get framework directory local targetdir = target:targetdir() @@ -39,17 +38,17 @@ rule("xcode.framework") target:data_set("inherit.links", false) -- disable to inherit links, @see rule("utils.inherit.links") target:add("frameworks", target:basename(), {interface = true}) target:add("frameworkdirs", targetdir, {interface = true}) + target:add("includedirs", path.join(frameworkdir, "Versions", "A", "Headers.tmp"), {interface = true}) -- register clean files for `xmake clean` target:add("cleanfiles", frameworkdir) end) - after_build(function (target) + before_build(function (target) -- get framework directory local frameworkdir = path.absolute(target:data("xcode.frameworkdir")) - local headersdir = path.join(frameworkdir, "Versions", "A", "Headers") - local resourcesdir = path.join(frameworkdir, "Versions", "A", "Resources") + local headersdir = path.join(frameworkdir, "Versions", "A", "Headers.tmp", target:basename()) -- copy header files to the framework directory local srcheaders, dstheaders = target:headerfiles(headersdir) @@ -66,6 +65,19 @@ rule("xcode.framework") if not os.isdir(headersdir) then os.mkdir(headersdir) end + end) + + after_build(function (target) + + -- get framework directory + local frameworkdir = path.absolute(target:data("xcode.frameworkdir")) + local headersdir = path.join(frameworkdir, "Versions", "A", "Headers") + local resourcesdir = path.join(frameworkdir, "Versions", "A", "Resources") + + -- move header files + os.tryrm(headersdir) + os.mv(path.join(frameworkdir, "Versions", "A", "Headers.tmp", target:basename()), headersdir) + os.rm(path.join(frameworkdir, "Versions", "A", "Headers.tmp")) -- copy resource files to the framework directory local srcfiles, dstfiles = target:installfiles(resourcesdir) |
