From f6688e9eaff8ce02c097ba4e1da27d9efd8ece90 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 12 Jul 2017 13:07:18 +0800 Subject: add os.args and fix command args --- xmake/core/base/os.lua | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'xmake/core/base/os.lua') diff --git a/xmake/core/base/os.lua b/xmake/core/base/os.lua index 6616c2849..aeab699c4 100644 --- a/xmake/core/base/os.lua +++ b/xmake/core/base/os.lua @@ -156,6 +156,35 @@ function os.argw(argv) return results end +-- make string from arguments list +function os.args(argv) + + -- make it + local args = nil + for _, arg in ipairs(argv) do + arg = arg:trim() + if #arg > 0 then + arg = arg:gsub("([\"\\])", "\\%1") + if arg:find("%s") then + if args then + args = args .. " \"" .. arg .. "\"" + else + args = "\"" .. arg .. "\"" + end + else + if args then + args = args .. " " .. arg + else + args = arg + end + end + end + end + + -- ok? + return args or "" +end + -- match files or directories -- -- @param pattern the search pattern -- cgit v1.3.1