summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmake/plugins/project/ninja/build_ninja.lua18
1 files changed, 10 insertions, 8 deletions
diff --git a/xmake/plugins/project/ninja/build_ninja.lua b/xmake/plugins/project/ninja/build_ninja.lua
index 02139ec96..f9496c964 100644
--- a/xmake/plugins/project/ninja/build_ninja.lua
+++ b/xmake/plugins/project/ninja/build_ninja.lua
@@ -80,14 +80,16 @@ function _translate_compflags(compflags, outputdir)
last_flag = flag;
else
if last_flag == "-I" or last_flag == "-isystem" then
- flag = last_flag .. flag;
- end
- last_flag = flag;
- for _, pattern in ipairs({ "[%-](I)(.*)", "[%-](isystem)(.*)" }) do
- flag = flag:gsub(pattern, function(flag, dir)
- dir = _get_relative_unix_path(dir, outputdir)
- return "-" .. flag .. dir
- end)
+ table.insert(flags, last_flag)
+ flag = _get_relative_unix_path(flag, outputdir)
+ else
+ last_flag = flag;
+ for _, pattern in ipairs({"[%-](I)(.*)", "[%-](isystem)(.*)"}) do
+ flag = flag:gsub(pattern, function (flag, dir)
+ dir = _get_relative_unix_path(dir, outputdir)
+ return "-" .. flag .. dir
+ end)
+ end
end
table.insert(flags, flag)
end