diff options
| author | ruki <[email protected]> | 2022-05-18 00:34:51 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-05-18 00:34:51 +0800 |
| commit | 91d8197cef25c656b9de6aa95076c2d37f0206c2 (patch) | |
| tree | b71f3178159be319b1fd40896b0883868becdea7 /xmake/modules/core/tools/cl.lua | |
| parent | 053c31a5582c15fea9fc674ec3a14cccd9057b7e (diff) | |
fix preprocessor flags
Diffstat (limited to 'xmake/modules/core/tools/cl.lua')
| -rw-r--r-- | xmake/modules/core/tools/cl.lua | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/xmake/modules/core/tools/cl.lua b/xmake/modules/core/tools/cl.lua index b5da3d0d1..268fe2472 100644 --- a/xmake/modules/core/tools/cl.lua +++ b/xmake/modules/core/tools/cl.lua @@ -410,6 +410,14 @@ function _preprocess(program, argv, opt) end -- get preprocessor flags + -- TODO fix precompiled header bug for /P + /FI + local target = opt.target + if target and (flag:startswith("-FI") or flag:startswith("/FI")) then + local pcheaderfile = target:get("pcheader") or target:get("pcxxheader") + if pcheaderfile then + flag = "-FI" .. path.absolute(pcheaderfile) + end + end table.insert(cppflags, flag) -- get compiler flags @@ -499,7 +507,7 @@ 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) if distcc_build_client.is_distccjob() and distcc_build_client.singleton():has_freejobs() then - return distcc_build_client.singleton():compile(program, argv, {envs = self:runenvs(), preprocess = _preprocess, tool = self}) + return distcc_build_client.singleton():compile(program, argv, {envs = self:runenvs(), preprocess = _preprocess, tool = self, target = opt.target}) else return vstool.iorunv(program, argv, {envs = self:runenvs()}) end |
