qbsprojectmanager.qbs 3.3 KB
Newer Older
1
import qbs 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
    property bool useInternalQbsProducts: project.qbsSubModuleExists && !project.useExternalQbs
34 35 36

    Depends { name: "Qt"; submodules: [ "widgets", "script" ] }
    Depends { name: "Aggregation" }
37 38
    Depends {
        name: "qbscore"
39 40 41 42 43
        condition: product.useInternalQbsProducts
    }
    Depends {
        name: "qbsqtprofilesetup"
        condition: product.useInternalQbsProducts
44
    }
45 46 47 48 49 50 51 52
    Depends { name: "QmlJS" }
    Depends { name: "Utils" }

    Depends { name: "ProjectExplorer" }
    Depends { name: "Core" }
    Depends { name: "CppTools" }
    Depends { name: "QtSupport" }
    Depends { name: "QmlJSTools" }
Tobias Hunger's avatar
Tobias Hunger committed
53 54

    cpp.defines: base.concat([
55 56
        'QML_BUILD_STATIC_LIB',
        'QBS_INSTALL_DIR="'
57 58 59
                + (project.useExternalQbs
                       ? FileInfo.fromWindowsSeparators(project.qbs_install_dir)
                       : '')
60 61
                + '"'
    ])
62 63 64 65
    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
66 67

    files: [
68
        "qbsprojectmanager.qrc",
Tobias Hunger's avatar
Tobias Hunger committed
69 70
        "defaultpropertyprovider.cpp",
        "defaultpropertyprovider.h",
71
        "propertyprovider.h",
Tobias Hunger's avatar
Tobias Hunger committed
72 73 74 75
        "qbsbuildconfiguration.cpp",
        "qbsbuildconfiguration.h",
        "qbsbuildconfigurationwidget.cpp",
        "qbsbuildconfigurationwidget.h",
76
        "qbsbuildinfo.h",
Tobias Hunger's avatar
Tobias Hunger committed
77 78 79 80 81 82
        "qbsbuildstep.cpp",
        "qbsbuildstep.h",
        "qbsbuildstepconfigwidget.ui",
        "qbscleanstep.cpp",
        "qbscleanstep.h",
        "qbscleanstepconfigwidget.ui",
83 84
        "qbsdeployconfigurationfactory.cpp",
        "qbsdeployconfigurationfactory.h",
Tobias Hunger's avatar
Tobias Hunger committed
85 86 87
        "qbsinstallstep.cpp",
        "qbsinstallstep.h",
        "qbsinstallstepconfigwidget.ui",
Tobias Hunger's avatar
Tobias Hunger committed
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
        "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",
104 105
        "qbspropertylineedit.cpp",
        "qbspropertylineedit.h",
Tobias Hunger's avatar
Tobias Hunger committed
106
        "qbsrunconfiguration.cpp",
Tobias Hunger's avatar
Tobias Hunger committed
107
        "qbsrunconfiguration.h"
Tobias Hunger's avatar
Tobias Hunger committed
108 109 110
    ]
}