diff options
| author | ruki <[email protected]> | 2024-07-12 22:41:16 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2024-07-15 12:21:42 +0800 |
| commit | 6e801fdf314b2ee16e08e8bb8da8aa70c362eb88 (patch) | |
| tree | 0a00141b56090acebdb331c83f77990742fff7a3 /xmake/plugins/pack/batchcmds.lua | |
| parent | 30f574369dd606d4eb03e10d35f972d725ad074d (diff) | |
improve xpack installdir
Diffstat (limited to 'xmake/plugins/pack/batchcmds.lua')
| -rw-r--r-- | xmake/plugins/pack/batchcmds.lua | 55 |
1 files changed, 41 insertions, 14 deletions
diff --git a/xmake/plugins/pack/batchcmds.lua b/xmake/plugins/pack/batchcmds.lua index 8091134b2..fe3af9cc4 100644 --- a/xmake/plugins/pack/batchcmds.lua +++ b/xmake/plugins/pack/batchcmds.lua @@ -23,6 +23,33 @@ import("core.base.option") import("utils.archive") import("private.utils.batchcmds") +function _get_target_bindir(package, target) + local bindir = package:bindir() + local prefixdir = target:prefixdir() + if prefixdir then + bindir = path.join(package:install_rootdir(), prefixdir, target:extraconf("prefixdir", prefixdir, "bindir")) + end + return path.normalize(bindir) +end + +function _get_target_libdir(package, target) + local libdir = package:libdir() + local prefixdir = target:prefixdir() + if prefixdir then + libdir = path.join(package:install_rootdir(), prefixdir, target:extraconf("prefixdir", prefixdir, "libdir")) + end + return path.normalize(libdir) +end + +function _get_target_includedir(package, target) + local includedir = package:includedir() + local prefixdir = target:prefixdir() + if prefixdir then + includedir = path.join(package:install_rootdir(), prefixdir, target:extraconf("prefixdir", prefixdir, "includedir")) + end + return path.normalize(includedir) +end + -- install headers function _install_headers(target, batchcmds_, includedir) local srcheaders, dstheaders = target:headerfiles(includedir, {installonly = true}) @@ -100,7 +127,7 @@ end -- on install binary target command function _on_target_installcmd_binary(target, batchcmds_, opt) local package = opt.package - local bindir = package:bindir() + local bindir = _get_target_bindir(package, target) -- install target file batchcmds_:cp(target:targetfile(), path.join(bindir, target:filename())) @@ -132,9 +159,9 @@ end -- on install shared target command function _on_target_installcmd_shared(target, batchcmds_, opt) local package = opt.package - local bindir = package:bindir() - local libdir = package:libdir() - local includedir = package:includedir() + local bindir = _get_target_bindir(package, target) + local libdir = _get_target_libdir(package, target) + local includedir = _get_target_includedir(package, target) -- install target file batchcmds_:cp(target:targetfile(), path.join(bindir, target:filename())) @@ -161,8 +188,8 @@ end -- on install static target command function _on_target_installcmd_static(target, batchcmds_, opt) local package = opt.package - local libdir = package:libdir() - local includedir = package:includedir() + local libdir = _get_target_libdir(package, target) + local includedir = _get_target_includedir(package, target) -- install target file batchcmds_:cp(target:targetfile(), path.join(libdir, target:filename())) @@ -177,7 +204,7 @@ end -- on install headeronly target command function _on_target_installcmd_headeronly(target, batchcmds_, opt) local package = opt.package - local includedir = package:includedir() + local includedir = _get_target_includedir(package, target) -- install headers _install_headers(target, batchcmds_, includedir) @@ -225,7 +252,7 @@ end -- on uninstall binary target command function _on_target_uninstallcmd_binary(target, batchcmds_, opt) local package = opt.package - local bindir = package:bindir() + local bindir = _get_target_bindir(package, target) -- uninstall target file batchcmds_:rm(path.join(bindir, target:filename()), {emptydirs = true}) @@ -247,9 +274,9 @@ end -- on uninstall shared target command function _on_target_uninstallcmd_shared(target, batchcmds_, opt) local package = opt.package - local bindir = package:bindir() - local libdir = package:libdir() - local includedir = package:includedir() + local bindir = _get_target_bindir(package, target) + local libdir = _get_target_libdir(package, target) + local includedir = _get_target_includedir(package, target) -- uninstall target file batchcmds_:rm(path.join(bindir, target:filename()), {emptydirs = true}) @@ -270,8 +297,8 @@ end -- on uninstall static target command function _on_target_uninstallcmd_static(target, batchcmds_, opt) local package = opt.package - local libdir = package:libdir() - local includedir = package:includedir() + local libdir = _get_target_libdir(package, target) + local includedir = _get_target_includedir(package, target) -- uninstall target file batchcmds_:rm(path.join(libdir, target:filename()), {emptydirs = true}) @@ -284,7 +311,7 @@ end -- on uninstall headeronly target command function _on_target_uninstallcmd_headeronly(target, batchcmds_, opt) local package = opt.package - local includedir = package:includedir() + local includedir = _get_target_includedir(package, target) _uninstall_headers(target, batchcmds_, includedir) end |
