summaryrefslogtreecommitdiff
path: root/xmake/modules/core
diff options
context:
space:
mode:
authorruki <[email protected]>2022-05-18 00:42:46 +0800
committerruki <[email protected]>2022-05-18 00:42:46 +0800
commit886ea9eeac7a3554b229c87de965d43791d5e6e5 (patch)
treee81d18dc0fa2d6849a1dc4a35d22cd17db05aa93 /xmake/modules/core
parent91d8197cef25c656b9de6aa95076c2d37f0206c2 (diff)
support win cmdargv for distcc
Diffstat (limited to 'xmake/modules/core')
-rw-r--r--xmake/modules/core/tools/cl.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/xmake/modules/core/tools/cl.lua b/xmake/modules/core/tools/cl.lua
index 268fe2472..fc3ef5622 100644
--- a/xmake/modules/core/tools/cl.lua
+++ b/xmake/modules/core/tools/cl.lua
@@ -449,7 +449,7 @@ function _preprocess(program, argv, opt)
table.insert(cppflags, "-P")
table.insert(cppflags, "-Fi" .. cppfile)
table.insert(cppflags, sourcefile)
- local outdata, errdata = vstool.iorunv(program, cppflags, opt)
+ local outdata, errdata = vstool.iorunv(program, winos.cmdargv(cppflags), opt)
return outdata, errdata, sourcefile, objectfile, cppfile, flags
end
@@ -505,10 +505,11 @@ function compile(self, sourcefile, objectfile, dependinfo, flags, opt)
end
-- use vstool to compile and enable vs_unicode_output @see https://github.com/xmake-io/xmake/issues/528
- local program, argv = compargv(self, sourcefile, objectfile, compflags, opt)
if distcc_build_client.is_distccjob() and distcc_build_client.singleton():has_freejobs() then
+ local program, argv = compargv(self, sourcefile, objectfile, compflags, table.join(opt, {rawargs = true}))
return distcc_build_client.singleton():compile(program, argv, {envs = self:runenvs(), preprocess = _preprocess, tool = self, target = opt.target})
else
+ local program, argv = compargv(self, sourcefile, objectfile, compflags, opt)
return vstool.iorunv(program, argv, {envs = self:runenvs()})
end
end,