summaryrefslogtreecommitdiff
path: root/xmake/plugins
diff options
context:
space:
mode:
authorruki <[email protected]>2019-04-17 00:35:36 +0800
committerruki <[email protected]>2019-04-16 21:33:39 +0800
commit579503c667ffaab3c78a53dba32d2ec7207c2e65 (patch)
treec89f016320ee3b3ca65a5c531380e71f0ffbf2aa /xmake/plugins
parentad7e4fce0945c59cc2a5ed63b1db2085472bcfa3 (diff)
improve xmake package
Diffstat (limited to 'xmake/plugins')
-rw-r--r--xmake/plugins/macro/macros/package.lua17
1 files changed, 9 insertions, 8 deletions
diff --git a/xmake/plugins/macro/macros/package.lua b/xmake/plugins/macro/macros/package.lua
index 41dc7b61c..e58ca0f61 100644
--- a/xmake/plugins/macro/macros/package.lua
+++ b/xmake/plugins/macro/macros/package.lua
@@ -85,16 +85,17 @@ function main(argv)
for _, target in pairs(project.targets()) do
-- get all modes
- local modedirs = os.match(format("%s/%s.pkg/lib/*", outputdir, target:name()), true)
- for _, modedir in ipairs(modedirs) do
-
- -- get mode
- local mode = path.basename(modedir)
+ local modes = {}
+ for _, modedir in ipairs(os.dirs(format("%s/%s.pkg/*/*/*", outputdir, target:name()))) do
+ table.insert(modes, path.basename(modedir))
+ end
+ print(modes)
+ for _, mode in ipairs(table.unique(modes)) do
-- make lipo arguments
local lipoargs = nil
for _, arch in ipairs(archs) do
- local archfile = format("%s/%s.pkg/lib/%s/%s/%s/%s", outputdir, target:name(), mode, plat, arch:trim(), path.filename(target:targetfile()))
+ local archfile = format("%s/%s.pkg/%s/%s/%s/lib/%s", outputdir, target:name(), plat, arch:trim(), mode, path.filename(target:targetfile()))
if os.isfile(archfile) then
lipoargs = format("%s -arch %s %s", lipoargs or "", arch, archfile)
end
@@ -102,10 +103,10 @@ function main(argv)
if lipoargs then
-- make full lipo arguments
- lipoargs = format("-create %s -output %s/%s.pkg/lib/%s/%s/universal/%s", lipoargs, outputdir, target:name(), mode, plat, path.filename(target:targetfile()))
+ lipoargs = format("-create %s -output %s/%s.pkg/%s/universal/%s/lib/%s", lipoargs, outputdir, target:name(), plat, mode, path.filename(target:targetfile()))
-- make universal directory
- os.mkdir(format("%s/%s.pkg/lib/%s/%s/universal", outputdir, target:name(), mode, plat))
+ os.mkdir(format("%s/%s.pkg/%s/universal/%s/lib", outputdir, target:name(), plat, mode))
-- package all archs
os.execv("xmake", {"l", "lipo", lipoargs})