summaryrefslogtreecommitdiff
path: root/qbs.pro
blob: 9777615f4105c9717ea2957c579bcf8515810ec0 (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
requires(!cross_compile)
include(src/lib/bundledlibs.pri)

defineTest(minQtVersion) {
    maj = $$1
    min = $$2
    patch = $$3
    isEqual(QT_MAJOR_VERSION, $$maj) {
        isEqual(QT_MINOR_VERSION, $$min) {
            isEqual(QT_PATCH_VERSION, $$patch) {
                return(true)
            }
            greaterThan(QT_PATCH_VERSION, $$patch) {
                return(true)
            }
        }
        greaterThan(QT_MINOR_VERSION, $$min) {
            return(true)
        }
    }
    greaterThan(QT_MAJOR_VERSION, $$maj) {
        return(true)
    }
    return(false)
}

!minQtVersion(5, 14, 0) {
    message("Cannot build qbs with Qt version $${QT_VERSION}.")
    error("Use at least Qt 5.14.0.")
}

TEMPLATE = subdirs
pkgconfig.file = src/lib/pkgconfig/pkgconfig.pro
corelib.file = src/lib/corelib/corelib.pro
corelib.depends = pkgconfig
msbuildlib.subdir = src/lib/msbuild
msbuildlib.depends = corelib
src_app.subdir = src/app
src_app.depends = corelib
CONFIG(static, static|shared): src_app.depends += src_plugins
src_libexec.subdir = src/libexec
src_plugins.subdir = src/plugins
CONFIG(shared, static|shared): src_plugins.depends = corelib
src_plugins.depends += msbuildlib
tests.depends = static_res
static_res.file = static-res.pro
static_res.depends = src_app src_libexec src_plugins static.pro
qbs_use_bundled_qtscript {
    scriptenginelib.file = src/lib/scriptengine/scriptengine.pro
    corelib.depends += scriptenginelib
    SUBDIRS += scriptenginelib
}
SUBDIRS += \
    pkgconfig \
    corelib\
    msbuildlib\
    src_app\
    src_libexec\
    src_plugins\
    static.pro\
    static_res

!CONFIG(nomake_tests): SUBDIRS += tests

OTHER_FILES += \
    doc/*.qdoc \
    doc/reference/*.qdoc \
    doc/reference/items/convenience/*.qdoc \
    doc/reference/items/language/*.qdoc \
    doc/reference/jsextensions/*.qdoc \
    doc/reference/modules/*.qdoc \
    doc/targets/*.qdoc* \
    doc/qbs.qdocconf \
    doc/config/qbs-project.qdocconf

include(qbs_version.pri)
include(doc/doc.pri)