summaryrefslogtreecommitdiff
path: root/src/libs/utils/utils.qbs
blob: 1724da6e48e589849e54dc8bbf0d7fe699b9ea51 (plain)
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
import qbs 1.0
import qbs.FileInfo

Project {
    name: "Utils"

    QtcDevHeaders { }

    QtcLibrary {

        cpp.defines: base.concat([
            "UTILS_LIBRARY",
            "QTC_REL_TOOLS_PATH=\"" + FileInfo.relativePath('/' + qtc.ide_bin_path,
                                                            '/' + qtc.ide_libexec_path) + "\""
        ])
        cpp.dynamicLibraries: {
            var libs = [];
            if (qbs.targetOS.contains("windows")) {
                libs.push("user32", "iphlpapi", "ws2_32", "shell32");
            } else if (qbs.targetOS.contains("unix")) {
                if (!qbs.targetOS.contains("macos"))
                    libs.push("X11");
                if (!qbs.targetOS.contains("openbsd"))
                    libs.push("pthread");
            }
            return libs;
        }

        cpp.enableExceptions: true

        Properties {
            condition: qbs.targetOS.contains("macos")
            cpp.frameworks: ["Foundation", "AppKit"]
        }

        Depends { name: "Qt"; submodules: ["concurrent", "network", "qml", "widgets", "xml"] }
        Depends { name: "Qt.macextras"; condition: qbs.targetOS.contains("macos") }
        Depends { name: "app_version_header" }

        files: [
            "QtConcurrentTools",
            "algorithm.h",
            "ansiescapecodehandler.cpp",
            "ansiescapecodehandler.h",
            "appmainwindow.cpp",
            "appmainwindow.h",
            "archive.cpp",
            "archive.h",
            "basetreeview.cpp",
            "basetreeview.h",
            "benchmarker.cpp",
            "benchmarker.h",
            "buildablehelperlibrary.cpp",
            "buildablehelperlibrary.h",
            "camelcasecursor.cpp",
            "camelcasecursor.h",
            "categorysortfiltermodel.cpp",
            "categorysortfiltermodel.h",
            "changeset.cpp",
            "changeset.h",
            "checkablemessagebox.cpp",
            "checkablemessagebox.h",
            "classnamevalidatinglineedit.cpp",
            "classnamevalidatinglineedit.h",
            "codegeneration.cpp",
            "codegeneration.h",
            "completinglineedit.cpp",
            "completinglineedit.h",
            "completingtextedit.cpp",
            "completingtextedit.h",
            "consoleprocess.cpp",
            "consoleprocess.h",
            "cpplanguage_details.h",
            "crumblepath.cpp",
            "crumblepath.h",
            "declarationmacros.h",
            "delegates.cpp",
            "delegates.h",
            "detailsbutton.cpp",
            "detailsbutton.h",
            "detailswidget.cpp",
            "detailswidget.h",
            "differ.cpp",
            "differ.h",
            "displayname.cpp",
            "displayname.h",
            "dropsupport.cpp",
            "dropsupport.h",
            "elfreader.cpp",
            "elfreader.h",
            "elidinglabel.cpp",
            "elidinglabel.h",
            "environment.cpp",
            "environment.h",
            "environmentdialog.cpp",
            "environmentdialog.h",
            "environmentmodel.cpp",
            "environmentmodel.h",
            "execmenu.cpp",
            "execmenu.h",
            "executeondestruction.h",
            "fadingindicator.cpp",
            "fadingindicator.h",
            "faketooltip.cpp",
            "faketooltip.h",
            "fancylineedit.cpp",
            "fancylineedit.h",
            "fancymainwindow.cpp",
            "fancymainwindow.h",
            "filecrumblabel.cpp",
            "filecrumblabel.h",
            "fileinprojectfinder.cpp",
            "fileinprojectfinder.h",
            "filenamevalidatinglineedit.cpp",
            "filenamevalidatinglineedit.h",
            "filesearch.cpp",
            "filesearch.h",
            "filesystemwatcher.cpp",
            "filesystemwatcher.h",
            "fileutils.cpp",
            "fileutils.h",
            "filewizardpage.cpp",
            "filewizardpage.h",
            "filewizardpage.ui",
            "fixedsizeclicklabel.cpp",
            "fixedsizeclicklabel.h",
            "flowlayout.cpp",
            "flowlayout.h",
            "functiontraits.h",
            "fuzzymatcher.cpp",
            "fuzzymatcher.h",
            "globalfilechangeblocker.cpp",
            "globalfilechangeblocker.h",
            "guard.cpp",
            "guard.h",
            "highlightingitemdelegate.cpp",
            "highlightingitemdelegate.h",
            "historycompleter.cpp",
            "historycompleter.h",
            "hostosinfo.h",
            "hostosinfo.cpp",
            "htmldocextractor.cpp",
            "htmldocextractor.h",
            "icon.cpp",
            "icon.h",
            "infolabel.cpp",
            "infolabel.h",
            "itemviews.cpp",
            "itemviews.h",
            "json.cpp",
            "json.h",
            "jsontreeitem.cpp",
            "jsontreeitem.h",
            "linecolumn.h",
            "link.h",
            "listmodel.h",
            "listutils.h",
            "macroexpander.cpp",
            "macroexpander.h",
            "mapreduce.h",
            "namevaluedictionary.cpp",
            "namevaluedictionary.h",
            "namevalueitem.cpp",
            "namevalueitem.h",
            "namevaluemodel.cpp",
            "namevaluemodel.h",
            "namevaluesdialog.cpp",
            "namevaluesdialog.h",
            "namevaluevalidator.cpp",
            "namevaluevalidator.h",
            "navigationtreeview.cpp",
            "navigationtreeview.h",
            "networkaccessmanager.cpp",
            "networkaccessmanager.h",
            "optional.h",
            "../3rdparty/optional/optional.hpp",
            "osspecificaspects.h",
            "outputformat.h",
            "outputformatter.cpp",
            "outputformatter.h",
            "overlaywidget.cpp",
            "overlaywidget.h",
            "overridecursor.cpp",
            "overridecursor.h",
            "parameteraction.cpp",
            "parameteraction.h",
            "pathchooser.cpp",
            "pathchooser.h",
            "pathlisteditor.cpp",
            "pathlisteditor.h",
            "persistentsettings.cpp",
            "persistentsettings.h",
            "predicates.h",
            "pointeralgorithm.h",
            "port.cpp",
            "port.h",
            "portlist.cpp",
            "portlist.h",
            "processhandle.cpp",
            "processhandle.h",
            "progressindicator.cpp",
            "progressindicator.h",
            "projectintropage.cpp",
            "projectintropage.h",
            "projectintropage.ui",
            "proxyaction.cpp",
            "proxyaction.h",
            "proxycredentialsdialog.cpp",
            "proxycredentialsdialog.h",
            "proxycredentialsdialog.ui",
            "qrcparser.cpp",
            "qrcparser.h",
            "qtcassert.cpp",
            "qtcassert.h",
            "qtcolorbutton.cpp",
            "qtcolorbutton.h",
            "qtcprocess.cpp",
            "qtcprocess.h",
            "reloadpromptutils.cpp",
            "reloadpromptutils.h",
            "removefiledialog.cpp",
            "removefiledialog.h",
            "removefiledialog.ui",
            "runextensions.cpp",
            "runextensions.h",
            "savedaction.cpp",
            "savedaction.h",
            "savefile.cpp",
            "savefile.h",
            "scopedswap.h",
            "settingsaccessor.cpp",
            "settingsaccessor.h",
            "settingsselector.cpp",
            "settingsselector.h",
            "settingsutils.h",
            "shellcommand.cpp",
            "shellcommand.h",
            "shellcommandpage.cpp",
            "shellcommandpage.h",
            "sizedarray.h",
            "smallstring.h",
            "smallstringiterator.h",
            "smallstringio.h",
            "smallstringliteral.h",
            "smallstringlayout.h",
            "smallstringmemory.h",
            "smallstringvector.h",
            "statuslabel.cpp",
            "statuslabel.h",
            "stringutils.cpp",
            "stringutils.h",
            "styledbar.cpp",
            "styledbar.h",
            "stylehelper.cpp",
            "stylehelper.h",
            "synchronousprocess.cpp",
            "synchronousprocess.h",
            "templateengine.cpp",
            "templateengine.h",
            "temporarydirectory.cpp",
            "temporarydirectory.h",
            "temporaryfile.cpp",
            "temporaryfile.h",
            "textfieldcheckbox.cpp",
            "textfieldcheckbox.h",
            "textfieldcombobox.cpp",
            "textfieldcombobox.h",
            "textfileformat.cpp",
            "textfileformat.h",
            "textutils.cpp",
            "textutils.h",
            "treemodel.cpp",
            "treemodel.h",
            "treeviewcombobox.cpp",
            "treeviewcombobox.h",
            "headerviewstretcher.cpp",
            "headerviewstretcher.h",
            "uncommentselection.cpp",
            "uncommentselection.h",
            "unixutils.cpp",
            "unixutils.h",
            "url.cpp",
            "url.h",
            "utils.qrc",
            "utils_global.h",
            "utilsicons.h",
            "utilsicons.cpp",
            "variant.h",
            "../3rdparty/variant/variant.hpp",
            "winutils.cpp",
            "winutils.h",
            "wizard.cpp",
            "wizard.h",
            "wizardpage.cpp",
            "wizardpage.h",
            "images/*.png",
        ]

        Group {
            name: "Theme"
            prefix: "theme/"
            files: [
                "theme.cpp",
                "theme.h",
                "theme_p.h",
            ]
        }

        Group {
            name: "Tooltip"
            prefix: "tooltip/"
            files: [
                "effects.h",
                "tips.cpp",
                "tips.h",
                "tooltip.cpp",
                "tooltip.h",
            ]
        }

        Group {
            name: "FileUtils_macos"
            condition: qbs.targetOS.contains("macos")
            files: [
                "fileutils_mac.h", "fileutils_mac.mm",
            ]
        }

        Group {
            name: "Theme_macos"
            condition: qbs.targetOS.contains("macos")
            prefix: "theme/"
            files: [
                "theme_mac.h", "theme_mac.mm",
            ]
        }

        Group {
            name: "ProcessHandle_macos"
            condition: qbs.targetOS.contains("macos")
            files: [
                "processhandle_mac.mm",
            ]
        }

        Group {
            name: "MimeTypes"
            prefix: "mimetypes/"
            files: [
                "mimedatabase.cpp",
                "mimedatabase.h",
                "mimedatabase_p.h",
                "mimeglobpattern.cpp",
                "mimeglobpattern_p.h",
                "mimemagicrule.cpp",
                "mimemagicrule_p.h",
                "mimemagicrulematcher.cpp",
                "mimemagicrulematcher_p.h",
                "mimeprovider.cpp",
                "mimeprovider_p.h",
                "mimetype.cpp",
                "mimetype.h",
                "mimetype_p.h",
                "mimetypeparser.cpp",
                "mimetypeparser_p.h",
            ]
        }

        Group {
            name: "TouchBar support"
            prefix: "touchbar/"
            files: "touchbar.h"
            Group {
                name: "TouchBar implementation"
                condition: qbs.targetOS.contains("macos")
                files: [
                    "touchbar_appdelegate_mac_p.h",
                    "touchbar_mac_p.h",
                    "touchbar_mac.mm",
                    "touchbar_appdelegate_mac.mm",
                ]
            }
            Group {
                name: "TouchBar stub"
                condition: !qbs.targetOS.contains("macos")
                files: "touchbar.cpp"
            }
        }

        Export {
            Depends { name: "Qt"; submodules: ["concurrent", "widgets" ] }
        }
    }
}