forked from thunder-engine/thunder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathThunder.qbs
98 lines (87 loc) · 3.36 KB
/
Thunder.qbs
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import qbs
import qbs.Process
import qbs.TextFile
Project {
id: thunder
property string COMPANY_NAME: "FrostSpear"
property string PRODUCT_NAME: "Thunder Engine"
property string EDITOR_NAME: "WorldEditor"
property string BUILDER_NAME: "Builder"
property string COPYRIGHT_AUTHOR: "Evgeniy Prikazchikov"
property string ANDROID: "android-21"
property string PLATFORM: {
var arch = qbs.architecture;
if(qbs.targetOS.contains("darwin") || qbs.targetOS[0] === "linux") {
arch = "x86_64"
}
return qbs.targetOS[0] + "/" + arch;
}
property bool desktop: !qbs.targetOS.contains("android") && !qbs.targetOS.contains("ios") && !qbs.targetOS.contains("tvos")
property string bundle: {
if(qbs.targetOS.contains("darwin")) {
return EDITOR_NAME + ".app/Contents/MacOS/"
}
return "";
}
Probe {
id: probe
property string SDK_VERSION
property string REVISION
property string LEGAL
property string SPONSORS
property string YEAR
configure: {
YEAR = new Date().getFullYear().toString()
REVISION = "develop"
var p = new Process()
p.setWorkingDirectory(thunder.sourceDirectory)
if (p.exec("git", ["rev-parse", "HEAD"]) === 0) {
REVISION = p.readStdOut().trim()
} else {
console.error(p.readStdErr())
}
LEGAL = new TextFile(thunder.sourceDirectory + "/legal").readAll()
SPONSORS = new TextFile(thunder.sourceDirectory + "/sponsors").readAll()
SDK_VERSION = new TextFile(thunder.sourceDirectory + "/version").readAll()
}
}
property string COPYRIGHT_YEAR: probe.YEAR
property string RESOURCE_ROOT: "../worldeditor/bin"
property string PREFIX: ""
property string LAUNCHER_PATH: "launcher"
property string SDK_PATH: "sdk/" + probe.SDK_VERSION
property string PLATFORM_PATH: SDK_PATH + "/" + PLATFORM
property string BIN_PATH: PLATFORM_PATH + "/bin"
property string LIB_PATH: (qbs.targetOS[0] === "linux") ? PLATFORM_PATH + "/lib" : BIN_PATH
property string STATIC_PATH: PLATFORM_PATH + "/static"
property string INC_PATH: SDK_PATH + "/include"
property string TOOLS_PATH: SDK_PATH + "/tools"
property string PLUGINS_PATH: BIN_PATH + "/plugins"
property stringList defines: {
var result = [
"COMPANY_NAME=\"" + COMPANY_NAME + "\"",
"PRODUCT_NAME=\"" + PRODUCT_NAME + "\"",
"EDITOR_NAME=\"" + EDITOR_NAME + "\"",
"BUILDER_NAME=\"" + BUILDER_NAME + "\"",
"SDK_VERSION=\"" + probe.SDK_VERSION + "\"",
"COPYRIGHT_YEAR=" + COPYRIGHT_YEAR,
"COPYRIGHT_AUTHOR=\"" + COPYRIGHT_AUTHOR + "\"",
"REVISION=\"" + probe.REVISION + "\"",
"LEGAL=\"" + probe.LEGAL + "\"",
"SPONSORS=\"" + probe.SPONSORS + "\""
];
return result;
}
references: [
"thirdparty/thirdparty.qbs",
"engine/engine.qbs",
"modules/media/media.qbs",
"modules/physics/bullet/bullet.qbs",
"modules/renders/rendergl/rendergl.qbs",
"modules/vms/angel/angel.qbs",
"worldeditor/worldeditor.qbs",
"builder/builder.qbs",
"build/install.qbs",
"build/qbsinstall.qbs"
]
}