You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
850 B

local function quote(x)
return '"' .. x .. '"'
end
local function toForward(x)
return x:gsub('\\', '/')
end
-- arguments are in this order
local cmd = arg[1]
local outFile = arg[2]
local includes = toForward(arg[3])
local defines = arg[4]
local inFile = arg[5]
-- build list of includes
local includes2 = ""
for i in string.gmatch(includes, "[^;]+") do
includes2 = includes2.." -I "..quote(i)
end
includes = includes2;
-- build list of defines
local defines2 = ""
for i in string.gmatch(defines, "[^;]+") do
defines2 = defines2.." -D"..i
end
defines = defines2
-- moc doesn't compile boost correctly, so skip those headers
workarounds=' -DBOOST_MP_CPP_INT_HPP -DBOOST_THREAD_WEK01082003_HPP'
-- build command
cmd = quote(cmd).." -o "..quote(outFile)..includes..defines..workarounds..' '..quote(inFile)
print(cmd)
os.execute(quote(cmd))