diff options
| author | SirLynix <[email protected]> | 2022-12-11 14:24:13 +0100 |
|---|---|---|
| committer | SirLynix <[email protected]> | 2022-12-11 14:24:13 +0100 |
| commit | 74698cc483c68972ab9487e08b3c6ab05b410585 (patch) | |
| tree | f1d6bff196cc004637df2de3ec06b3b048891b4d | |
| parent | 4baf5673b19297a2f05fe8f087f0d4283365956d (diff) | |
emscripten fixes
| -rw-r--r-- | xmake/modules/detect/tools/find_emar.lua | 15 | ||||
| -rw-r--r-- | xmake/modules/detect/tools/find_emxx.lua | 15 | ||||
| -rw-r--r-- | xmake/modules/package/tools/cmake.lua | 13 | ||||
| -rw-r--r-- | xmake/modules/private/action/trybuild/cmake.lua | 13 |
4 files changed, 22 insertions, 34 deletions
diff --git a/xmake/modules/detect/tools/find_emar.lua b/xmake/modules/detect/tools/find_emar.lua index 5d44e85a3..5c09f9952 100644 --- a/xmake/modules/detect/tools/find_emar.lua +++ b/xmake/modules/detect/tools/find_emar.lua @@ -21,7 +21,7 @@ -- imports import("core.tool.compiler") import("lib.detect.find_program") -import("detect.sdks.find_emscripten") +import("detect.sdks.find_emsdk") -- check function _check(program) @@ -64,16 +64,13 @@ function main(opt) opt.check = opt.check or _check -- init the search directories - local paths = {} - local emscriptendir = find_emscripten() - if emscriptendir then - table.insert(paths, emscriptendir.sdkdir) + local emsdk = find_emsdk() + if emsdk and emsdk.emscripten then + local paths = {} + table.insert(paths, emsdk.emscripten) + opt.paths = paths end -- find program - opt.paths = paths - opt.envs = {PATH = os.getenv("PATH")} - - -- find program return find_program(opt.program or (is_host("windows") and "emar.bat" or "emar"), opt) end diff --git a/xmake/modules/detect/tools/find_emxx.lua b/xmake/modules/detect/tools/find_emxx.lua index f1f42a3f7..4018b9b13 100644 --- a/xmake/modules/detect/tools/find_emxx.lua +++ b/xmake/modules/detect/tools/find_emxx.lua @@ -21,7 +21,7 @@ -- imports import("lib.detect.find_program") import("lib.detect.find_programver") -import("detect.sdks.find_emscripten") +import("detect.sdks.find_emsdk") -- find emxx -- @@ -42,17 +42,14 @@ function main(opt) opt = opt or {} -- init the search directories - local paths = {} - local emscriptendir = find_emscripten() - if emscriptendir then - table.insert(paths, emscriptendir.sdkdir) + local emsdk = find_emsdk() + if emsdk and emsdk.emscripten then + local paths = {} + table.insert(paths, emsdk.emscripten) + opt.paths = paths end -- find program - opt.paths = paths - opt.envs = {PATH = os.getenv("PATH")} - - -- find program local program = find_program(opt.program or (is_host("windows") and "em++.bat" or "em++"), opt) -- find program version diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua index 3304cf90b..7e9b9d6c9 100644 --- a/xmake/modules/package/tools/cmake.lua +++ b/xmake/modules/package/tools/cmake.lua @@ -27,6 +27,7 @@ import("core.tool.compiler") import("lib.detect.find_file") import("lib.detect.find_tool") import("package.tools.ninja") +import("detect.sdks.find_emsdk") -- get the number of parallel jobs function _get_parallel_njobs(opt) @@ -474,15 +475,11 @@ end -- get configs for wasm function _get_configs_for_wasm(package, configs, opt) - local emsdk = os.getenv("EMSDK") - local emscripten_cmakefile - if emsdk and os.isdir(emsdk) then - emscripten_cmakefile = find_file("Emscripten.cmake", path.join(emsdk, "*", "emscripten/cmake/Modules/Platform")) - end - if emscripten_cmakefile then - table.insert(configs, "-DCMAKE_TOOLCHAIN_FILE=" .. emscripten_cmakefile) - end + local emsdk = find_emsdk() + assert(emsdk and emsdk.emscripten, "emscripten not found!") + local emscripten_cmakefile = find_file("Emscripten.cmake", path.join(emsdk.emscripten, "cmake/Modules/Platform")) assert(emscripten_cmakefile, "Emscripten.cmake not found!") + table.insert(configs, "-DCMAKE_TOOLCHAIN_FILE=" .. emscripten_cmakefile) if is_subhost("windows") then local mingw = assert(package:build_getenv("mingw") or package:build_getenv("sdk"), "mingw not found!") table.insert(configs, "-DCMAKE_MAKE_PROGRAM=" .. _translate_paths(path.join(mingw, "bin", "mingw32-make.exe"))) diff --git a/xmake/modules/private/action/trybuild/cmake.lua b/xmake/modules/private/action/trybuild/cmake.lua index bd4d7b5c0..8247141d7 100644 --- a/xmake/modules/private/action/trybuild/cmake.lua +++ b/xmake/modules/private/action/trybuild/cmake.lua @@ -151,14 +151,11 @@ end -- get configs for wasm function _get_configs_for_wasm(configs) - local emsdk = os.getenv("EMSDK") - local emscripten_cmakefile - if emsdk and os.isdir(emsdk) then - emscripten_cmakefile = find_file("Emscripten.cmake", path.join(emsdk, "*", "emscripten/cmake/Modules/Platform")) - end - if emscripten_cmakefile then - table.insert(configs, "-DCMAKE_TOOLCHAIN_FILE=" .. emscripten_cmakefile) - end + local emsdk = find_emsdk() + assert(emsdk and emsdk.emscripten, "emscripten not found!") + local emscripten_cmakefile = find_file("Emscripten.cmake", path.join(emsdk.emscripten, "cmake/Modules/Platform")) + assert(emscripten_cmakefile, "Emscripten.cmake not found!") + table.insert(configs, "-DCMAKE_TOOLCHAIN_FILE=" .. emscripten_cmakefile) assert(emscripten_cmakefile, "Emscripten.cmake not found!") _get_configs_for_generic(configs) end |
