diff options
| author | ruki <[email protected]> | 2019-04-17 00:35:36 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-04-16 21:33:39 +0800 |
| commit | 579503c667ffaab3c78a53dba32d2ec7207c2e65 (patch) | |
| tree | c89f016320ee3b3ca65a5c531380e71f0ffbf2aa /xmake/plugins/macro/macros/package.lua | |
| parent | ad7e4fce0945c59cc2a5ed63b1db2085472bcfa3 (diff) | |
improve xmake package
Diffstat (limited to 'xmake/plugins/macro/macros/package.lua')
| -rw-r--r-- | xmake/plugins/macro/macros/package.lua | 17 |
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}) |
