summaryrefslogtreecommitdiff
path: root/xmake/modules
diff options
context:
space:
mode:
authorruki <[email protected]>2024-04-18 21:34:57 +0800
committerGitHub <[email protected]>2024-04-18 21:34:57 +0800
commitf29ac30bf2e231f6753e0eea7a6026b188774f4e (patch)
tree2e897ff3c5fd6d80f270d459826f4d352b882b6f /xmake/modules
parente170a82a9f79f0331d22e66fc4ec35d05a784d8a (diff)
parent44710016ca676758931e3216279a8a8b20ad2374 (diff)
Merge pull request #4990 from star-hengxing/meson
fix meson cross build on windows
Diffstat (limited to 'xmake/modules')
-rw-r--r--xmake/modules/package/tools/meson.lua32
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))