diff options
| author | ruki <[email protected]> | 2026-07-19 23:12:24 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-07-19 23:12:24 +0800 |
| commit | c5874deb17f61381d14a6e148488d61c63c8f78f (patch) | |
| tree | 1e0d0db4906b060d5376153c1416347344ec52e3 /xmake/modules/detect/tools/find_emrun.lua | |
| parent | 64439096a06b65556fff59f3b0b4e6a439b44129 (diff) | |
| parent | 5895b1d179e31a9d41a145159399a7f5cfd5b7bb (diff) | |
refactor emcc detection to support both .exe and .bat on windows
Diffstat (limited to 'xmake/modules/detect/tools/find_emrun.lua')
| -rw-r--r-- | xmake/modules/detect/tools/find_emrun.lua | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/xmake/modules/detect/tools/find_emrun.lua b/xmake/modules/detect/tools/find_emrun.lua index ac210c4ca..6a96c9d82 100644 --- a/xmake/modules/detect/tools/find_emrun.lua +++ b/xmake/modules/detect/tools/find_emrun.lua @@ -51,9 +51,26 @@ function main(opt) table.insert(paths, emsdk.emscripten) opt.paths = paths end - + -- find program - local program = find_program(opt.program or (is_host("windows") and "emrun.bat" or "emrun"), opt) + -- emsdk 6.0.0+ ships .exe on windows, older releases ship .bat + local program + if opt.program then + program = find_program(opt.program, opt) + else + local candidate_names + if is_host("windows") then + candidate_names = {"emrun.exe", "emrun.bat"} + else + candidate_names = {"emrun"} + end + for _, name in ipairs(candidate_names) do + program = find_program(name, opt) + if program then + break + end + end + end -- find program version local version = nil |
