diff options
Diffstat (limited to 'src/qmltyperegistrar')
-rw-r--r-- | src/qmltyperegistrar/qmltyperegistrar.cpp | 12 | ||||
-rw-r--r-- | src/qmltyperegistrar/qmltypes.prf | 4 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/qmltyperegistrar/qmltyperegistrar.cpp b/src/qmltyperegistrar/qmltyperegistrar.cpp index bf3c4c94d4..07d7955727 100644 --- a/src/qmltyperegistrar/qmltyperegistrar.cpp +++ b/src/qmltyperegistrar/qmltyperegistrar.cpp @@ -106,6 +106,12 @@ int main(int argc, char **argv) importNameOption.setValueName(QStringLiteral("module name")); parser.addOption(importNameOption); + QCommandLineOption pastMajorVersionOption(QStringLiteral("past-major-version")); + pastMajorVersionOption.setDescription(QStringLiteral("Past major version to use for type and module " + "registrations.")); + pastMajorVersionOption.setValueName(QStringLiteral("past major version")); + parser.addOption(pastMajorVersionOption); + QCommandLineOption majorVersionOption(QStringLiteral("major-version")); majorVersionOption.setDescription(QStringLiteral("Major version to use for type and module " "registrations.")); @@ -188,8 +194,14 @@ int main(int argc, char **argv) fprintf(output, "void %s()\n{", qPrintable(functionName)); const auto majorVersion = parser.value(majorVersionOption); + const auto pastMajorVersions = parser.values(pastMajorVersionOption); const auto minorVersion = parser.value(minorVersionOption); + for (const auto &version : pastMajorVersions) { + fprintf(output, "\n qmlRegisterModule(\"%s\", %s, 0);\n qmlRegisterModule(\"%s\", %s, 254);", + qPrintable(module), qPrintable(version), qPrintable(module), qPrintable(version)); + } + if (minorVersion.toInt() != 0) { fprintf(output, "\n qmlRegisterModule(\"%s\", %s, 0);", qPrintable(module), qPrintable(majorVersion)); diff --git a/src/qmltyperegistrar/qmltypes.prf b/src/qmltyperegistrar/qmltypes.prf index e02d425f2a..0b857ad099 100644 --- a/src/qmltyperegistrar/qmltypes.prf +++ b/src/qmltyperegistrar/qmltypes.prf @@ -63,6 +63,10 @@ QML_TYPEREGISTRAR_FLAGS = \ --minor-version=$$QML_IMPORT_MINOR_VERSION \ --foreign-types=$$join(QML_FOREIGN_METATYPES, ',') +!isEmpty(QML_PAST_MAJOR_VERSIONS) { + for(past_major_version,QML_PAST_MAJOR_VERSIONS): QML_TYPEREGISTRAR_FLAGS += --past-major-version $$past_major_version +} + !isEmpty(MODULE_PRIVATE_INCLUDES): QML_TYPEREGISTRAR_FLAGS += --private-includes METATYPES_JSON = $${TARGET_BASENAME}_metatypes.json |