diff options
author | Craig Scott <craig.scott@qt.io> | 2021-11-30 14:34:29 +1100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-12-13 19:41:38 +0000 |
commit | 1fe5ee6395abc94dde41642a48a31aab33ddbe2f (patch) | |
tree | 27bc3d4764051165609e7b2f0a3f462b9438b1bb /tools | |
parent | 2c33b5d0b449b90993312e86e0904931e516dc2d (diff) |
Add CMake deploy support for QML module apps
Task-number: QTBUG-98545
Change-Id: I2d04ccbae0288c88ada399552e8f9c20e221b21d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit e954a7f69491b72d1ad9144c20f66713b5017940)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmlimportscanner/main.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tools/qmlimportscanner/main.cpp b/tools/qmlimportscanner/main.cpp index b48ab4eeec..85542cbba8 100644 --- a/tools/qmlimportscanner/main.cpp +++ b/tools/qmlimportscanner/main.cpp @@ -648,6 +648,7 @@ int main(int argc, char *argv[]) QStringList qmlImportPaths; QStringList qrcFiles; bool generateCmakeContent = false; + QString outputFile; int i = 1; while (i < args.count()) { @@ -676,6 +677,14 @@ int main(int argc, char *argv[]) generateCmakeContent = true; } else if (arg == QLatin1String("-qrcFiles")) { argReceiver = &qrcFiles; + } else if (arg == QLatin1String("-output-file")) { + if (i >= args.count()) { + std::cerr << "-output-file requires an argument\n"; + return 1; + } + outputFile = args.at(i); + ++i; + continue; } else { std::cerr << qPrintable(appName) << ": Invalid argument: \"" << qPrintable(arg) << "\"\n"; @@ -716,6 +725,17 @@ int main(int argc, char *argv[]) content = QJsonDocument(QJsonArray::fromVariantList(imports)).toJson(); } - std::cout << content.constData() << std::endl; + if (outputFile.isEmpty()) { + std::cout << content.constData() << std::endl; + } else { + QFile f(outputFile); + if (!f.open(QIODevice::WriteOnly | QIODevice::Text)) { + std::cerr << qPrintable(appName) << ": Unable to write to output file: \"" + << qPrintable(outputFile) << "\"\n"; + return 1; + } + QTextStream out(&f); + out << content << "\n"; + } return 0; } |