summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-05-17 00:59:13 +0800
committerruki <[email protected]>2022-05-17 00:59:13 +0800
commitb4159ba0031f6203838396fcb964e77e3c7f402d (patch)
tree1531c37ecc359adcbe2e5ce16d8d6f070f0e729f
parent0894984d573ee66e8b8f860464f2fc0c6a8208c8 (diff)
improve gcc pch
-rw-r--r--xmake/modules/core/tools/cl.lua3
-rw-r--r--xmake/modules/core/tools/gcc.lua4
-rw-r--r--xmake/modules/private/tools/vstool.lua2
3 files changed, 6 insertions, 3 deletions
diff --git a/xmake/modules/core/tools/cl.lua b/xmake/modules/core/tools/cl.lua
index 006f1b402..3bccc7a60 100644
--- a/xmake/modules/core/tools/cl.lua
+++ b/xmake/modules/core/tools/cl.lua
@@ -415,6 +415,9 @@ function _preprocess(program, argv, opt)
-- get compiler flags
if flag == "-showIncludes" or flag == "/showIncludes" or
flag:startswith("-I") or flag:startswith("/I") or
+ flag:startswith("-Yu") or flag:startswith("/Yu") or
+ flag:startswith("-FI") or flag:startswith("/FI") or
+ flag:startswith("-Fp") or flag:startswith("/Fp") or
flag:startswith("-external:") or flag:startswith("/external:") then
skipped = 1
elseif flag == "-I" or flag == "-sourceDependencies" or flag == "/sourceDependencies" then
diff --git a/xmake/modules/core/tools/gcc.lua b/xmake/modules/core/tools/gcc.lua
index 14c1a4b2b..291e2b47e 100644
--- a/xmake/modules/core/tools/gcc.lua
+++ b/xmake/modules/core/tools/gcc.lua
@@ -407,7 +407,9 @@ function _preprocess(program, argv, opt)
-- get compiler flags
if flag == "-MMD" or flag:startswith("-I") or flag:startswith("--sysroot=") then
skipped = 1
- elseif flag == "-MF" or flag == "-I" or flag == "-isystem" or flag == "-isysroot" or flag == "-gcc-toolchain" then
+ elseif flag == "-MF" or
+ flag == "-I" or flag == "-isystem" or flag == "-include" or flag == "-include-pch" or
+ flag == "-isysroot" or flag == "-gcc-toolchain" then
skipped = 2
elseif flag:endswith("xcrun") then
skipped = 4
diff --git a/xmake/modules/private/tools/vstool.lua b/xmake/modules/private/tools/vstool.lua
index 4a96b8914..97a278d7b 100644
--- a/xmake/modules/private/tools/vstool.lua
+++ b/xmake/modules/private/tools/vstool.lua
@@ -136,8 +136,6 @@ function iorunv(program, argv, opt)
-- raise errors
os.raise({errors = errors, stderr = errdata, stdout = outdata})
end
-
- -- ok?
return outdata, errdata
end