diff options
| author | ruki <[email protected]> | 2024-04-18 21:34:57 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-04-18 21:34:57 +0800 |
| commit | f29ac30bf2e231f6753e0eea7a6026b188774f4e (patch) | |
| tree | 2e897ff3c5fd6d80f270d459826f4d352b882b6f | |
| parent | e170a82a9f79f0331d22e66fc4ec35d05a784d8a (diff) | |
| parent | 44710016ca676758931e3216279a8a8b20ad2374 (diff) | |
Merge pull request #4990 from star-hengxing/meson
fix meson cross build on windows
| -rw-r--r-- | xmake/modules/package/tools/meson.lua | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/xmake/modules/package/tools/meson.lua b/xmake/modules/package/tools/meson.lua index 85e2e6587..a0a7b47bf 100644 --- a/xmake/modules/package/tools/meson.lua +++ b/xmake/modules/package/tools/meson.lua @@ -210,24 +210,28 @@ function _get_configs_file(package, opt) if cc then file:print("c=['%s']", executable_path(cc)) end + local cxx = package:build_getenv("cxx") - -- https://github.com/xmake-io/xmake/discussions/4979 - if cxx and package:has_tool("cxx", "clang", "gcc") then - local dir = path.directory(cxx) - local name = path.filename(cxx) - name = name:gsub("clang$", "clang++") - name = name:gsub("clang%-", "clang++-") -- clang-xx - name = name:gsub("clang%.", "clang++.") -- clang.exe - name = name:gsub("gcc$", "g++") - name = name:gsub("gcc%-", "g++-") - name = name:gsub("gcc%.", "g++.") - if dir and dir ~= "." then - cxx = path.join(dir, name) - else - cxx = name + if cxx then + -- https://github.com/xmake-io/xmake/discussions/4979 + if package:has_tool("cxx", "clang", "gcc") then + local dir = path.directory(cxx) + local name = path.filename(cxx) + name = name:gsub("clang$", "clang++") + name = name:gsub("clang%-", "clang++-") -- clang-xx + name = name:gsub("clang%.", "clang++.") -- clang.exe + name = name:gsub("gcc$", "g++") + name = name:gsub("gcc%-", "g++-") + name = name:gsub("gcc%.", "g++.") + if dir and dir ~= "." then + cxx = path.join(dir, name) + else + cxx = name + end end file:print("cpp=['%s']", executable_path(cxx)) end + local ld = package:build_getenv("ld") if ld then file:print("ld=['%s']", executable_path(ld)) |
