diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmlimportscanner/main.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/qmlimportscanner/main.cpp b/tools/qmlimportscanner/main.cpp index d59dc4a2e1..ab26abae46 100644 --- a/tools/qmlimportscanner/main.cpp +++ b/tools/qmlimportscanner/main.cpp @@ -69,6 +69,10 @@ inline QString dependenciesLiteral() { return QStringLiteral("dependencies"); } inline QString moduleLiteral() { return QStringLiteral("module"); } inline QString javascriptLiteral() { return QStringLiteral("javascript"); } inline QString directoryLiteral() { return QStringLiteral("directory"); } +inline QString linkTargetLiteral() +{ + return QStringLiteral("linkTarget"); +} void printUsage(const QString &appNameIn) { @@ -193,6 +197,10 @@ QVariantMap pluginsForModulePath(const QString &modulePath, const QString &versi pluginInfo[pluginIsOptionalLiteral()] = true; } + if (!parser.linkTarget().isEmpty()) { + pluginInfo[linkTargetLiteral()] = parser.linkTarget(); + } + pluginInfo[classnamesLiteral()] = parser.classNames().join(QLatin1Char(' ')); QStringList importsAndDependencies; @@ -310,9 +318,12 @@ QVariantList findPathsForModuleImports(const QVariantList &imports) import.insert(relativePathLiteral(), paths.second); plugininfo = pluginsForModulePath(paths.first, version); } + QString linkTarget = plugininfo.value(linkTargetLiteral()).toString(); QString plugins = plugininfo.value(pluginsLiteral()).toString(); bool isOptional = plugininfo.value(pluginIsOptionalLiteral(), QVariant(false)).toBool(); QString classnames = plugininfo.value(classnamesLiteral()).toString(); + if (!linkTarget.isEmpty()) + import.insert(linkTargetLiteral(), linkTarget); if (!plugins.isEmpty()) import.insert(QStringLiteral("plugin"), plugins); if (isOptional) |