add globals scripts
Some checks failed
Clang-format Check / clang-format-check (push) Failing after 7s
Some checks failed
Clang-format Check / clang-format-check (push) Failing after 7s
This commit is contained in:
parent
a675b64b5f
commit
b58697e058
2 changed files with 69 additions and 0 deletions
29
assets/lua/global/cmake.lua
Normal file
29
assets/lua/global/cmake.lua
Normal file
|
@ -0,0 +1,29 @@
|
|||
local cmd = require("cmd")
|
||||
|
||||
local cd = cmd.cd
|
||||
local cmd = cmd.cmd
|
||||
|
||||
local cmake = {
|
||||
prepare = function()
|
||||
cmd[[
|
||||
if [ -d "build" ]; then
|
||||
rm -r "build"
|
||||
fi
|
||||
]]
|
||||
cmd'mkdir build'
|
||||
cd'build'
|
||||
cmd'cmake ..'
|
||||
end,
|
||||
|
||||
build = function()
|
||||
cd'build'
|
||||
cmd'make -j'
|
||||
end
|
||||
}
|
||||
|
||||
function cmake:all()
|
||||
cmake.prepare()
|
||||
cmake.build()
|
||||
end
|
||||
|
||||
return cmake
|
40
assets/lua/global/cmd.lua
Normal file
40
assets/lua/global/cmd.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
local function join(delimiter, list)
|
||||
local result = ""
|
||||
local len = #list
|
||||
for i, v in ipairs(list) do
|
||||
result = result .. tostring(v)
|
||||
if i < len then
|
||||
result = result .. tostring(delimiter)
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
local function quoted(str)
|
||||
local escaped_str = string.gsub(str, '[\\"]', '\\%1')
|
||||
return '"' .. escaped_str .. '"'
|
||||
end
|
||||
|
||||
local lfs = require("lfs")
|
||||
|
||||
return {
|
||||
cmd = function(cmd)
|
||||
if type(cmd) == "string" then
|
||||
cmd = {cmd}
|
||||
end
|
||||
|
||||
local cmd_line = table.concat(cmd, "\n")
|
||||
for i, v in ipairs(cmd) do
|
||||
cmd[i] = "\27[32m-> \27[0m" .. string.gsub(cmd[i], "\n", "\n\27[32m-> \27[0m")
|
||||
end
|
||||
local print_line = table.concat(cmd, "\n")
|
||||
print(print_line)
|
||||
return assert(os.execute("bash -e -c " .. quoted(cmd_line)))
|
||||
end,
|
||||
|
||||
|
||||
cd = function(path)
|
||||
print("\27[32m-> \27[0mcd " .. path)
|
||||
assert(lfs.chdir(path))
|
||||
end
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue