87 lines
2.1 KiB
Lua
87 lines
2.1 KiB
Lua
|
--
|
||
|
-- Name: codelite/codelite.lua
|
||
|
-- Purpose: Define the CodeLite action(s).
|
||
|
-- Author: Ryan Pusztai
|
||
|
-- Modified by: Andrea Zanellato
|
||
|
-- Andrew Gough
|
||
|
-- Manu Evans
|
||
|
-- Jason Perkins
|
||
|
-- Created: 2013/05/06
|
||
|
-- Copyright: (c) 2008-2020 Jason Perkins and the Premake project
|
||
|
--
|
||
|
|
||
|
local p = premake
|
||
|
|
||
|
p.modules.codelite = {}
|
||
|
p.modules.codelite._VERSION = p._VERSION
|
||
|
|
||
|
local codelite = p.modules.codelite
|
||
|
local project = p.project
|
||
|
|
||
|
|
||
|
function codelite.cfgname(cfg)
|
||
|
local cfgname = cfg.buildcfg
|
||
|
if codelite.workspace.multiplePlatforms then
|
||
|
-- Codelite breaks if "|" is used here, see #1411
|
||
|
cfgname = string.format("%s-%s", cfg.platform, cfg.buildcfg)
|
||
|
end
|
||
|
return cfgname
|
||
|
end
|
||
|
|
||
|
-- Element text is not escaped the same as element attributes
|
||
|
function codelite.escElementText(value)
|
||
|
local result = value:gsub('&', '&')
|
||
|
result = result:gsub('<', '<')
|
||
|
result = result:gsub('>', '>')
|
||
|
return result
|
||
|
end
|
||
|
|
||
|
function codelite.esc(value)
|
||
|
local result = value:gsub('&', '&')
|
||
|
result = result:gsub('<', '<')
|
||
|
result = result:gsub('>', '>')
|
||
|
result = result:gsub('"', '"')
|
||
|
return result
|
||
|
end
|
||
|
|
||
|
function codelite.generateWorkspace(wks)
|
||
|
p.eol("\r\n")
|
||
|
p.indent(" ")
|
||
|
p.escaper(codelite.esc)
|
||
|
|
||
|
p.generate(wks, ".workspace", codelite.workspace.generate)
|
||
|
end
|
||
|
|
||
|
function codelite.generateProject(prj)
|
||
|
p.eol("\r\n")
|
||
|
p.indent(" ")
|
||
|
p.escaper(codelite.esc)
|
||
|
|
||
|
if project.isc(prj) or project.iscpp(prj) then
|
||
|
p.generate(prj, ".project", codelite.project.generate)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function codelite.cleanWorkspace(wks)
|
||
|
p.clean.file(wks, wks.name .. ".workspace")
|
||
|
p.clean.file(wks, wks.name .. "_wsp.mk")
|
||
|
p.clean.file(wks, wks.name .. ".tags")
|
||
|
p.clean.file(wks, ".clang")
|
||
|
end
|
||
|
|
||
|
function codelite.cleanProject(prj)
|
||
|
p.clean.file(prj, prj.name .. ".project")
|
||
|
p.clean.file(prj, prj.name .. ".mk")
|
||
|
p.clean.file(prj, prj.name .. ".list")
|
||
|
p.clean.file(prj, prj.name .. ".out")
|
||
|
end
|
||
|
|
||
|
function codelite.cleanTarget(prj)
|
||
|
-- TODO..
|
||
|
end
|
||
|
|
||
|
include("codelite_workspace.lua")
|
||
|
include("codelite_project.lua")
|
||
|
|
||
|
return codelite
|