qtcreator.qbs 2.48 KB
Newer Older
Joerg Bornemann's avatar
Joerg Bornemann committed
1 2 3
import qbs.base 1.0

Project {
4
    property bool withAutotests: qbs.buildVariant === "debug"
Joerg Bornemann's avatar
Joerg Bornemann committed
5
    property string ide_version_major: '2'
Eike Ziller's avatar
Eike Ziller committed
6 7
    property string ide_version_minor: '8'
    property string ide_version_release: '81'
Joerg Bornemann's avatar
Joerg Bornemann committed
8
    property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release
Eike Ziller's avatar
Eike Ziller committed
9 10 11 12
    property string ide_compat_version_major: '2'
    property string ide_compat_version_minor: '8'
    property string ide_compat_version_release: '81'
    property string qtcreator_compat_version: ide_compat_version_major + '.' + ide_compat_version_minor + '.' + ide_compat_version_release
13
    property path ide_source_tree: path
Joerg Bornemann's avatar
Joerg Bornemann committed
14 15
    property string ide_app_path: qbs.targetOS.contains("osx") ? "" : "bin"
    property string ide_app_target: qbs.targetOS.contains("osx") ? "Qt Creator" : "qtcreator"
16
    property string ide_library_path: {
Joerg Bornemann's avatar
Joerg Bornemann committed
17
        if (qbs.targetOS.contains("osx"))
18
            return ide_app_target + ".app/Contents/PlugIns"
Joerg Bornemann's avatar
Joerg Bornemann committed
19
        else if (qbs.targetOS.contains("windows"))
20 21 22 23 24
            return ide_app_path
        else
            return "lib/qtcreator"
    }
    property string ide_plugin_path: {
Joerg Bornemann's avatar
Joerg Bornemann committed
25
        if (qbs.targetOS.contains("osx"))
26
            return ide_library_path
Joerg Bornemann's avatar
Joerg Bornemann committed
27
        else if (qbs.targetOS.contains("windows"))
28 29 30 31
            return "lib/qtcreator/plugins"
        else
            return ide_library_path + "/plugins"
    }
Joerg Bornemann's avatar
Joerg Bornemann committed
32
    property string ide_data_path: qbs.targetOS.contains("osx")
Joerg Bornemann's avatar
Joerg Bornemann committed
33 34
            ? ide_app_target + ".app/Contents/Resources"
            : "share/qtcreator"
Joerg Bornemann's avatar
Joerg Bornemann committed
35
    property string ide_libexec_path: qbs.targetOS.contains("osx")
Joerg Bornemann's avatar
Joerg Bornemann committed
36 37
            ? ide_data_path
            : ide_app_path
Joerg Bornemann's avatar
Joerg Bornemann committed
38
    property string ide_doc_path: qbs.targetOS.contains("osx")
Joerg Bornemann's avatar
Joerg Bornemann committed
39 40
            ? ide_data_path + "/doc"
            : "share/doc/qtcreator"
Joerg Bornemann's avatar
Joerg Bornemann committed
41
    property string ide_bin_path: qbs.targetOS.contains("osx")
Joerg Bornemann's avatar
Joerg Bornemann committed
42 43
            ? ide_app_target + ".app/Contents/MacOS"
            : ide_app_path
44 45 46 47 48 49 50 51
    property bool testsEnabled: qbs.getenv("TEST") || qbs.buildVariant === "debug"
    property stringList generalDefines: [
        "QT_CREATOR",
        'IDE_LIBRARY_BASENAME="lib"',
        "QT_DISABLE_DEPRECATED_BEFORE=0x040900",
        "QT_NO_CAST_TO_ASCII",
        "QT_NO_CAST_FROM_ASCII"
    ].concat(testsEnabled ? ["WITH_TESTS"] : [])
Joerg Bornemann's avatar
Joerg Bornemann committed
52 53 54
    moduleSearchPaths: "qbs"

    references: [
55
        "src/src.qbs",
Joerg Bornemann's avatar
Joerg Bornemann committed
56 57
        "lib/qtcreator/qtcomponents/qtcomponents.qbs",
        "share/share.qbs",
58
        "share/qtcreator/translations/translations.qbs",
59
        "tests/tests.qbs"
Joerg Bornemann's avatar
Joerg Bornemann committed
60 61
    ]
}