summaryrefslogtreecommitdiff
path: root/xmake/rules/rust/xmake.lua
diff options
context:
space:
mode:
authorIMXEren <[email protected]>2025-07-07 18:35:38 +0530
committerIMXEren <[email protected]>2025-07-07 18:35:38 +0530
commita3ba17738500e6a0c093da6a0687119f93a89eff (patch)
tree160abc6ae24cd677318b244d257b1661d519fbaa /xmake/rules/rust/xmake.lua
parentfe3a4b2a9fa7e75a5ba760401e19b312028d27ee (diff)
refactor: use on_config to add runenvs instead of before_run
Diffstat (limited to 'xmake/rules/rust/xmake.lua')
-rw-r--r--xmake/rules/rust/xmake.lua8
1 files changed, 5 insertions, 3 deletions
diff --git a/xmake/rules/rust/xmake.lua b/xmake/rules/rust/xmake.lua
index 8f62392b9..7dbd0c488 100644
--- a/xmake/rules/rust/xmake.lua
+++ b/xmake/rules/rust/xmake.lua
@@ -97,16 +97,18 @@ rule("rust.build")
end)
on_build("build.target")
- before_run(function (target)
+ on_config(function (target)
import("lib.detect.find_tool")
- -- Make sure libstd shared library is available
+ -- Ensure libstd shared library is available when running
local rc = find_tool("rustc")
assert(rc, "rustc not found. Failed to add libstd in env")
local outdata, errdata = os.iorunv(rc.program, {"--print=sysroot"})
assert(not errdata or errdata == "", "failed to find rust sysroot:\n" .. errdata)
local libstd = path.join(outdata:trim(), "bin")
- os.addenvs({PATH = libstd, LD_LIBRARY_PATH = libstd, DYLD_LIBRARY_PATH = libstd})
+ target:add("runenvs", "PATH", libstd)
+ target:add("runenvs", "LD_LIBRARY_PATH", libstd)
+ target:add("runenvs", "DYLD_LIBRARY_PATH", libstd)
end)
rule("rust")