aboutsummaryrefslogtreecommitdiff
path: root/src/smolbote.qbs
blob: 439014c151d50a571083db63c38f5a919bfb9f70 (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
import qbs
import "GitRepo.js" as GitRepo

Project {
    id: project
    // Qt 5.7 has qbs version 1.6.0
    // Qt 5.8 has qbs version 1.7.0
    minimumQbsVersion: "1.6.0"

    property bool gitVersion: true

    // The following define makes your compiler emit warnings if you use any
    // feature of Qt which as been marked as deprecated (the exact warnings
    // depend on your compiler). Please consult the documentation of the
    // deprecated API in order to know how to port your code away from it.

    // The code also fails to compile if you use APIs deprecated before Qt 5,7.
    property bool deprecatedWarnings: true

    CppApplication {
        id: poi
        name: "poi"
        property stringList defines: []

        Probe {
            id: git
            property string version: "1.0.0"
            property string describe: "1.0.0-0-00000000"
            configure: {
                if(project.gitVersion) {
                    var meta = GitRepo.read(project.sourceDirectory);
                    version = meta.version;
                    describe = meta.describe;
                }
                found = true;
            }
        }

        cpp.includePaths: ['.']
        cpp.defines: {
            if(project.deprecatedWarnings)
                defines.push("QT_DEPRECATED_WARNINGS", "QT_DISABLE_DEPRECATED_BEFORE=0x050700");
            if(git.found)
                defines.push('VERSION="'+git.version+'"');
            return defines;
        }

        files: [
            "browser.cpp",
            "browser.h",
            "data/icon.svg",
            "data/resources.qrc",
            "forms/blockerdialog.cpp",
            "forms/blockerdialog.h",
            "forms/blockerdialog.ui",
            "forms/bookmarksdialog.cpp",
            "forms/bookmarksdialog.h",
            "forms/bookmarksdialog.ui",
            "forms/downloaddialog.cpp",
            "forms/downloaddialog.h",
            "forms/downloaddialog.ui",
            "forms/profiledialog.cpp",
            "forms/profiledialog.h",
            "forms/profiledialog.ui",
            "main.cpp",
            "mainwindow.cpp",
            "mainwindow.h",
            "mainwindow.ui",
            "settings.cpp",
            "settings.h",
            "webengine/blockerrule.cpp",
            "webengine/blockerrule.h",
            "webengine/blockersubscription.cpp",
            "webengine/blockersubscription.h",
            "webengine/downloaditemform.cpp",
            "webengine/downloaditemform.h",
            "webengine/downloaditemform.ui",
            "webengine/regexp.cpp",
            "webengine/regexp.h",
            "webengine/urlinterceptor.cpp",
            "webengine/urlinterceptor.h",
            "webengine/webengineprofile.cpp",
            "webengine/webengineprofile.h",
            "webengine/webview.cpp",
            "webengine/webview.h",
            "widgets/loadingbar.cpp",
            "widgets/loadingbar.h",
            "widgets/urllineedit.cpp",
            "widgets/urllineedit.h",
            "widgets/webviewtabbar.cpp",
            "widgets/webviewtabbar.h",
            "xbel/xbel.cpp",
            "xbel/xbel.h",
        ]

        Depends { name: "Qt"; submodules: ["core", "widgets", "webengine", "webenginewidgets"] }

        // Properties for the produced executable
        Group {
            fileTagsFilter: product.type    // filter selects produced executable
            qbs.install: true               // install it
        }
    }
}