From 44710016ca676758931e3216279a8a8b20ad2374 Mon Sep 17 00:00:00 2001 From: star9029 Date: Thu, 18 Apr 2024 20:45:28 +0800 Subject: fix windows cross build --- xmake/modules/package/tools/meson.lua | 32 ++++++++++++++++++-------------- 1 file 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)) -- cgit v1.3.1