diff options
| author | ruki <[email protected]> | 2023-11-24 22:34:15 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-11-24 22:34:15 +0800 |
| commit | afbbacc9085b29e39cc13e00d5673202a70f7645 (patch) | |
| tree | 6c5bbad30be4b526500989de84c617f0a0af1f40 /xmake/plugins/pack/archive.lua | |
| parent | 9217b528138fe4384403c0b573e8617bdcc18358 (diff) | |
add sourcefiles for xpack
Diffstat (limited to 'xmake/plugins/pack/archive.lua')
| -rw-r--r-- | xmake/plugins/pack/archive.lua | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/xmake/plugins/pack/archive.lua b/xmake/plugins/pack/archive.lua index 818404345..dd1861ca4 100644 --- a/xmake/plugins/pack/archive.lua +++ b/xmake/plugins/pack/archive.lua @@ -26,16 +26,32 @@ import("batchcmds") -- pack archive package function _pack_archive(package) - -- do install - batchcmds.get_installcmds(package):runcmds() - for _, component in table.orderpairs(package:components()) do - if component:get("default") ~= false then - batchcmds.get_installcmds(component):runcmds() + -- archive source files + if package:from_source() then + local srcfiles, dstfiles = package:sourcefiles() + for idx, srcfile in ipairs(srcfiles) do + os.vcp(srcfile, dstfiles[idx]) + end + for _, component in table.orderpairs(package:components()) do + if component:get("default") ~= false then + local srcfiles, dstfiles = component:sourcefiles() + for idx, srcfile in ipairs(srcfiles) do + os.vcp(srcfile, dstfiles[idx]) + end + end + end + else + -- archive binary files + batchcmds.get_installcmds(package):runcmds() + for _, component in table.orderpairs(package:components()) do + if component:get("default") ~= false then + batchcmds.get_installcmds(component):runcmds() + end end end -- archive install files - local rootdir = package:rootdir() + local rootdir = package:from_source() and package:source_rootdir() or package:install_rootdir() local oldir = os.cd(rootdir) local archivefiles = os.files("**") os.cd(oldir) |
