forked from d3cod3/Mosaic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMosaic.qbs
117 lines (97 loc) · 3.63 KB
/
Mosaic.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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import qbs
import qbs.Process
import qbs.File
import qbs.FileInfo
import qbs.TextFile
import "../../../libs/openFrameworksCompiled/project/qtcreator/ofApp.qbs" as ofApp
Project{
property string of_root: '../../..'
ofApp {
name: { return FileInfo.baseName(sourceDirectory) }
files: [
"profiler/tracy/TracyClient.cpp",
"src/MosaicTheme.cpp",
"src/MosaicTheme.h",
"src/SplashScreen.cpp",
"src/SplashScreen.h",
"src/TextEditor.cpp",
"src/TextEditor.h",
"src/SynchTimer.h",
"src/config.h",
"src/includes.h",
'src/main.cpp',
'src/ofApp.cpp',
'src/ofApp.h',
]
of.addons: [
'ofxVisualProgramming'
]
// additional flags for the project. the of module sets some
// flags by default to add the core libraries, search paths...
// this flags can be augmented through the following properties:
of.pkgConfigs: [] // list of additional system pkgs to include
of.includePaths: ['profiler/tracy'] // include search paths
of.cFlags: [] // flags passed to the c compiler
// flags passed to the c++ compiler
of.cxxFlags: {
var flags = [];
if(qbs.configurationName.contains('Debug')){
flags = ['-g'];
}else{
flags = ['-O2'];
}
return flags;
}
// flags passed to the linker
of.linkerFlags: []
// defines are passed as -D to the compiler
of.defines: {
var defs = [];
if(qbs.configurationName.contains('Debug')){
defs = [];
}else if(qbs.configurationName.contains('Release')){
defs = [];
}else if(qbs.configurationName.contains('Profiling')){
defs = ['TRACY_ENABLE','TRACY_ONLY_IPV4','MOSAIC_ENABLE_PROFILING'];
}
return defs;
}
// and can be checked with #ifdef or #if in the code
// osx only, additional frameworks to link with the project
of.frameworks: ['/System/Library/Frameworks/CoreMIDI.framework']
of.staticLibraries: [] // static libraries
of.dynamicLibraries: [] // dynamic libraries
// other flags can be set through the cpp module: http://doc.qt.io/qbs/cpp-module.html
// eg: this will enable ccache when compiling
//
// cpp.compilerWrapper: 'ccache'
// add CoreMIDI for osx
/*Properties {
condition: qbs.hostOS.contains("osx")
of.frameworks: outer.concat(['CoreMIDI']);
}*/
// add QTKit support on osx 10.12
Properties {
condition: qbs.hostOS.contains("osx") && qbs.hostOS.contains("10.12")
of.frameworks: outer.concat(['QTKit']);
}
Depends{
name: "cpp"
}
// common rules that parse the include search paths, core libraries...
Depends{
name: "of"
}
// dependency with the OF library
Depends{
name: "openFrameworks"
}
}
property bool makeOF: true // use makfiles to compile the OF library
// will compile OF only once for all your projects
// otherwise compiled per project with qbs
property bool precompileOfMain: false // precompile ofMain.h
// faster to recompile when including ofMain.h
// but might use a lot of space per project
references: [FileInfo.joinPaths(of_root, "/libs/openFrameworksCompiled/project/qtcreator/openFrameworks.qbs")]
}