From 394c7d2c16caa670b46849b63b78e47fb1a428ea Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 15 May 2022 15:42:50 +0800 Subject: wrap distcc for cl --- xmake/modules/core/tools/cl.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xmake/modules/core/tools/cl.lua b/xmake/modules/core/tools/cl.lua index f7889e2c1..bdb3d350f 100644 --- a/xmake/modules/core/tools/cl.lua +++ b/xmake/modules/core/tools/cl.lua @@ -26,6 +26,7 @@ import("core.project.project") import("core.language.language") import("private.tools.vstool") import("private.tools.cl.parse_include") +import("private.service.distcc_build.client", {alias = "distcc_build_client"}) import("utils.progress") -- init it @@ -447,7 +448,11 @@ function compile(self, sourcefile, objectfile, dependinfo, flags, opt) -- 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) - return vstool.iorunv(program, argv, {envs = self:runenvs()}) + if distcc_build_client.is_distccjob() then + return distcc_build_client.singleton():iorunv(program, argv, {envs = self:runenvs(), tool = self}) + else + return vstool.iorunv(program, argv, {envs = self:runenvs()}) + end end, catch { -- cgit v1.3.1