diff options
author | Craig Scott <craig.scott@qt.io> | 2021-11-30 14:34:29 +1100 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2021-12-13 18:14:38 +0100 |
commit | e954a7f69491b72d1ad9144c20f66713b5017940 (patch) | |
tree | 19e3c7d5df6a1cb558c02a3efb7311072bc1e02b /tools/qmlimportscanner/main.cpp | |
parent | 3a4828460e8aa7beae587e505777ac35cb482a4f (diff) |
Add CMake deploy support for QML module apps
Task-number: QTBUG-98545
Pick-to: 6.3
Change-Id: I2d04ccbae0288c88ada399552e8f9c20e221b21d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'tools/qmlimportscanner/main.cpp')
-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; } |