diff options
| author | ruki <[email protected]> | 2024-12-06 11:03:16 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-12-06 11:03:16 +0800 |
| commit | 036aa737043b15e66d56efdea2970f29e3cbb31d (patch) | |
| tree | 776c62976baa7a7f025f6b468c60471585420260 | |
| parent | ed2c9cf21457b0f586ad67e71e6e8261d41af3b0 (diff) | |
| parent | 641fea9b88111c30ec02cb9ba03f1b697bda06f9 (diff) | |
Merge pull request #5936 from star-hengxing/package.merge_staticlibs
Fix package.merge_staticlibs
| -rw-r--r-- | xmake/modules/private/action/require/impl/actions/install.lua | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/xmake/modules/private/action/require/impl/actions/install.lua b/xmake/modules/private/action/require/impl/actions/install.lua index abc4e9a4c..3b7a5e04e 100644 --- a/xmake/modules/private/action/require/impl/actions/install.lua +++ b/xmake/modules/private/action/require/impl/actions/install.lua @@ -247,12 +247,16 @@ function _merge_staticlibs(package) end if #libfiles > 0 then local linkdir = linkdirs[1] - local linkname = table.wrap(package:get("links"))[1] or package:name() - local libfile_new = path.join(installdir, linkdir, - target.filename(linkname, "static", {plat = package:plat(), arch = package:arch()})) + local linkname = package:name() + local opt = {plat = package:plat(), arch = package:arch()} + local libfile_new = path.join(installdir, linkdir, target.filename(linkname, "static", opt)) + merge_staticlib(package, libfile_new, libfiles) + package:set("links", linkname) for _, libfile in ipairs(libfiles) do - os.rm(libfile) + if libfile ~= libfile_new then + os.rm(libfile) + end end end end |
