qbsprojectmanager.qbs 3.21 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
    property var externalQbsIncludes: project.useExternalQbs
            ? [project.qbs_install_dir + "/include/qbs"] : []
    property var externalQbsLibraryPaths: project.useExternalQbs
12
            ? [project.qbs_install_dir + '/' + project.libDirName] : []
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
    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
28

29
    condition: project.buildQbsProjectManager
Tobias Hunger's avatar
Tobias Hunger committed
30

31
    property bool useInternalQbsProducts: project.qbsSubModuleExists && !project.useExternalQbs
32 33 34

    Depends { name: "Qt"; submodules: [ "widgets", "script" ] }
    Depends { name: "Aggregation" }
35 36
    Depends {
        name: "qbscore"
37 38 39 40 41
        condition: product.useInternalQbsProducts
    }
    Depends {
        name: "qbsqtprofilesetup"
        condition: product.useInternalQbsProducts
42
    }
43 44 45 46 47 48 49 50
    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
51 52

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

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