qbsprojectmanager.qbs 3.27 KB
Newer Older
Tobias Hunger's avatar
Tobias Hunger committed
1
import qbs.base 1.0
2
import qbs.FileInfo
Tobias Hunger's avatar
Tobias Hunger committed
3

4
import QtcPlugin
Tobias Hunger's avatar
Tobias Hunger committed
5 6 7 8

QtcPlugin {
    name: "QbsProjectManager"

9 10 11 12 13 14
    property var externalQbsIncludes: project.useExternalQbs
            ? [project.qbs_install_dir + "/include/qbs"] : []
    property var externalQbsLibraryPaths: project.useExternalQbs
            ? [project.qbs_install_dir + "/lib"] : []
    property var externalQbsRPaths: project.useExternalQbs
            ? [project.qbs_install_dir + "/lib"] : []
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
    property var externalQbsDynamicLibraries: {
        var libs = []
        if (!project.useExternalQbs)
            return libs;
        if (qbs.targetOS.contains("windows")) {
            libs.push("shell32")
            if (qbs.enableDebugCode)
                libs.push("qbscored")
            else
                libs.push("qbscore")
        } else {
            libs.push("qbscore")
        }
        return libs
    }
Tobias Hunger's avatar
Tobias Hunger committed
30

31
    condition: project.buildQbsProjectManager
Tobias Hunger's avatar
Tobias Hunger committed
32 33 34 35 36 37 38 39

    Depends { name: "Qt"; submodules: [ "widgets", "script" ] }
    Depends { name: "ProjectExplorer" }
    Depends { name: "Core" }
    Depends { name: "CppTools" }
    Depends { name: "TextEditor" }
    Depends { name: "QtSupport" }
    Depends { name: "QmlJS" }
40
    Depends { name: "QmlJSTools" }
41
    property bool useInternalQbsProducts: project.qbsSubModuleExists && !project.useExternalQbs
42 43
    Depends {
        name: "qbscore"
44 45 46 47 48
        condition: product.useInternalQbsProducts
    }
    Depends {
        name: "qbsqtprofilesetup"
        condition: product.useInternalQbsProducts
49
    }
Tobias Hunger's avatar
Tobias Hunger committed
50 51

    cpp.defines: base.concat([
52 53
        'QML_BUILD_STATIC_LIB',
        'QBS_INSTALL_DIR="'
54 55 56
                + (project.useExternalQbs
                       ? FileInfo.fromWindowsSeparators(project.qbs_install_dir)
                       : '')
57 58
                + '"'
    ])
59 60 61 62
    cpp.includePaths: base.concat(externalQbsIncludes)
    cpp.libraryPaths: base.concat(externalQbsLibraryPaths)
    cpp.rpaths: base.concat(externalQbsRPaths)
    cpp.dynamicLibraries: base.concat(externalQbsDynamicLibraries)
Tobias Hunger's avatar
Tobias Hunger committed
63 64

    files: [
65
        "qbsprojectmanager.qrc",
Tobias Hunger's avatar
Tobias Hunger committed
66 67
        "defaultpropertyprovider.cpp",
        "defaultpropertyprovider.h",
68
        "propertyprovider.h",
Tobias Hunger's avatar
Tobias Hunger committed
69 70 71 72
        "qbsbuildconfiguration.cpp",
        "qbsbuildconfiguration.h",
        "qbsbuildconfigurationwidget.cpp",
        "qbsbuildconfigurationwidget.h",
73
        "qbsbuildinfo.h",
Tobias Hunger's avatar
Tobias Hunger committed
74 75 76 77 78 79
        "qbsbuildstep.cpp",
        "qbsbuildstep.h",
        "qbsbuildstepconfigwidget.ui",
        "qbscleanstep.cpp",
        "qbscleanstep.h",
        "qbscleanstepconfigwidget.ui",
80 81
        "qbsdeployconfigurationfactory.cpp",
        "qbsdeployconfigurationfactory.h",
Tobias Hunger's avatar
Tobias Hunger committed
82 83 84
        "qbsinstallstep.cpp",
        "qbsinstallstep.h",
        "qbsinstallstepconfigwidget.ui",
Tobias Hunger's avatar
Tobias Hunger committed
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
        "qbslogsink.cpp",
        "qbslogsink.h",
        "qbsnodes.cpp",
        "qbsnodes.h",
        "qbsparser.cpp",
        "qbsparser.h",
        "qbsproject.cpp",
        "qbsproject.h",
        "qbsprojectfile.cpp",
        "qbsprojectfile.h",
        "qbsprojectmanager.cpp",
        "qbsprojectmanager.h",
        "qbsprojectmanager_global.h",
        "qbsprojectmanagerconstants.h",
        "qbsprojectmanagerplugin.cpp",
        "qbsprojectmanagerplugin.h",
101 102
        "qbspropertylineedit.cpp",
        "qbspropertylineedit.h",
Tobias Hunger's avatar
Tobias Hunger committed
103
        "qbsrunconfiguration.cpp",
Tobias Hunger's avatar
Tobias Hunger committed
104
        "qbsrunconfiguration.h"
Tobias Hunger's avatar
Tobias Hunger committed
105 106 107
    ]
}