summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-07-25 23:18:28 +0800
committerruki <[email protected]>2022-07-25 23:18:28 +0800
commit3558e683bd5ecf9be068ec53f634d4f26f7c01ed (patch)
tree6b8b7739644118b27d47ad7324e403c7bd8b1ca4
parent44d2a5ece314a7c3cb63b3d65cf3c0c8147c1db1 (diff)
add target path to xrepo env #2599
-rw-r--r--xmake/modules/private/xrepo/action/env.lua18
1 files changed, 17 insertions, 1 deletions
diff --git a/xmake/modules/private/xrepo/action/env.lua b/xmake/modules/private/xrepo/action/env.lua
index fc9fcf4c0..7a14e3b15 100644
--- a/xmake/modules/private/xrepo/action/env.lua
+++ b/xmake/modules/private/xrepo/action/env.lua
@@ -280,7 +280,7 @@ function _package_addenvs(envs, instance)
end
end
--- add toolcjhain environments
+-- add toolchain environments
function _toolchain_addenvs(envs)
for _, name in ipairs(project.get("target.toolchains")) do
local toolchain_opt = project.extraconf("target.toolchains", name)
@@ -293,6 +293,21 @@ function _toolchain_addenvs(envs)
end
end
+-- add target environments
+function _target_addenvs(envs)
+ for _, target in ipairs(project.ordertargets()) do
+ if target:is_binary() then
+ _addenvs(envs, "PATH", target:targetdir())
+ elseif target:is_shared() then
+ if is_host("macosx") then
+ _addenvs(envs, "LD_LIBRARY_PATH", target:targetdir())
+ else
+ _addenvs(envs, "DYLD_LIBRARY_PATH", target:targetdir())
+ end
+ end
+ end
+end
+
-- get package environments
function _package_getenvs(opt)
local envs = os.getenvs()
@@ -315,6 +330,7 @@ function _package_getenvs(opt)
for _, instance in ipairs(package.load_packages(requires, {requires_extra = requires_extra})) do
_package_addenvs(envs, instance)
end
+ _target_addenvs(envs)
elseif packages then
_enter_project()
packages = packages:split(',', {plain = true})