diff options
| -rw-r--r-- | xmake/modules/private/xrepo/action/env.lua | 18 |
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}) |
