1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
--
-- GENie - Project generator tool
-- https://github.com/bkaradzic/GENie#license
--
premake.qbs = { }
local qbs = premake.qbs
newaction
{
-- Metadata for the command line and help system
trigger = "qbs",
shortname = "qbs",
description = "Generate QBS build files",
module = "qbs",
-- The capabilities of this action
valid_kinds = {"ConsoleApp", "WindowedApp", "StaticLib", "SharedLib", "Bundle"},
valid_languages = {"C", "C++"},
valid_tools = {
cc = { "gcc", "msc" },
},
-- Solution and project generation logic
onsolution = function(sln)
io.eol = "\n"
io.indent = "\t"
io.escaper(qbs.esc)
premake.generate(sln, sln.name .. ".creator.qbs", qbs.generate_solution)
io.indent = " "
premake.generate(sln, sln.name .. ".creator.qbs.user", qbs.generate_user)
end,
onproject = function(prj)
io.eol = "\n"
io.indent = "\t"
io.escaper(qbs.esc)
premake.generate(prj, prj.name .. ".qbs", qbs.generate_project)
end,
}
|