From 234cf10203a1935fd6d23c00b4b18759410483ad Mon Sep 17 00:00:00 2001 From: xpxz <97490782+heheda123123@users.noreply.github.com> Date: Sun, 25 Jun 2023 23:29:38 +0800 Subject: fix generate ninja proj bug --- xmake/plugins/project/ninja/build_ninja.lua | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/xmake/plugins/project/ninja/build_ninja.lua b/xmake/plugins/project/ninja/build_ninja.lua index 728c69d72..cf298917b 100644 --- a/xmake/plugins/project/ninja/build_ninja.lua +++ b/xmake/plugins/project/ninja/build_ninja.lua @@ -73,15 +73,24 @@ end -- translate compiler flags function _translate_compflags(compflags, outputdir) - local flags = {} - for _, flag in ipairs(compflags) do - 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 - table.insert(flags, flag) + local flags = {} + local last_flag = nil; + for _, flag in ipairs(compflags) do + if flag == "-I" or flag == "-isystem" then + 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) + end + table.insert(flags, flag) + end; end return flags end -- cgit v1.3.1 From 70dc1e4661123bf5f85b68c3e12ded27f631c9d1 Mon Sep 17 00:00:00 2001 From: xpxz <97490782+heheda123123@users.noreply.github.com> Date: Sun, 25 Jun 2023 23:36:42 +0800 Subject: fix format --- xmake/plugins/project/ninja/build_ninja.lua | 38 +++++++++++++++-------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/xmake/plugins/project/ninja/build_ninja.lua b/xmake/plugins/project/ninja/build_ninja.lua index cf298917b..9436a34f3 100644 --- a/xmake/plugins/project/ninja/build_ninja.lua +++ b/xmake/plugins/project/ninja/build_ninja.lua @@ -73,24 +73,26 @@ end -- translate compiler flags function _translate_compflags(compflags, outputdir) - local flags = {} - local last_flag = nil; - for _, flag in ipairs(compflags) do - if flag == "-I" or flag == "-isystem" then - 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) - end - table.insert(flags, flag) - end; + local flags = {} + local last_flag = nil; + for _, flag in ipairs(compflags) do + if flag == "-I" or flag == "-isystem" then + 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) + end + table.insert(flags, flag) + end + ; end return flags end -- cgit v1.3.1 From 1967e3b25121e02f46ef506f7ece4b2768102a8b Mon Sep 17 00:00:00 2001 From: xpxz <97490782+heheda123123@users.noreply.github.com> Date: Sun, 25 Jun 2023 23:37:21 +0800 Subject: remove colon --- xmake/plugins/project/ninja/build_ninja.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/xmake/plugins/project/ninja/build_ninja.lua b/xmake/plugins/project/ninja/build_ninja.lua index 9436a34f3..02139ec96 100644 --- a/xmake/plugins/project/ninja/build_ninja.lua +++ b/xmake/plugins/project/ninja/build_ninja.lua @@ -82,7 +82,6 @@ function _translate_compflags(compflags, outputdir) 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) @@ -92,7 +91,6 @@ function _translate_compflags(compflags, outputdir) end table.insert(flags, flag) end - ; end return flags end -- cgit v1.3.1 From 00efad66d05dc4d04e32cf7ac64c44530874a533 Mon Sep 17 00:00:00 2001 From: xpxz <97490782+heheda123123@users.noreply.github.com> Date: Mon, 26 Jun 2023 09:44:53 +0800 Subject: Update build_ninja.lua --- xmake/plugins/project/ninja/build_ninja.lua | 18 ++++++++++-------- 1 file 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 -- cgit v1.3.1 From 1d389f2649d2bef24764304d6c5370410a092b9f Mon Sep 17 00:00:00 2001 From: xpxz <97490782+heheda123123@users.noreply.github.com> Date: Mon, 26 Jun 2023 09:59:21 +0800 Subject: Update build_ninja.lua --- xmake/plugins/project/ninja/build_ninja.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xmake/plugins/project/ninja/build_ninja.lua b/xmake/plugins/project/ninja/build_ninja.lua index f9496c964..fd3280b43 100644 --- a/xmake/plugins/project/ninja/build_ninja.lua +++ b/xmake/plugins/project/ninja/build_ninja.lua @@ -77,13 +77,13 @@ function _translate_compflags(compflags, outputdir) local last_flag = nil; for _, flag in ipairs(compflags) do if flag == "-I" or flag == "-isystem" then - last_flag = flag; + last_flag = flag else if last_flag == "-I" or last_flag == "-isystem" then table.insert(flags, last_flag) flag = _get_relative_unix_path(flag, outputdir) else - last_flag = flag; + last_flag = flag for _, pattern in ipairs({"[%-](I)(.*)", "[%-](isystem)(.*)"}) do flag = flag:gsub(pattern, function (flag, dir) dir = _get_relative_unix_path(dir, outputdir) -- cgit v1.3.1