diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2019-10-22 15:46:42 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2019-10-24 15:23:37 +0200 |
commit | 220e32c0925b060a5eed72b555bf47b02012e8ea (patch) | |
tree | 55319c7fd469757f5ab5938b04e87cf1f9bdaa0f /tools | |
parent | 6d02fe20d94169839b661c18b46f3841dfbf0d9b (diff) |
qmltyperegistrar: Allow specifying the minor version
Unconditionally using QT_VERSION_MINOR is not a great idea for user
projects. Yet, we have to specify some minor version, at least for now.
Change-Id: Id9d0d0417a2ac6b8775cef755357274d8fbd637d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmltyperegistrar/qmltyperegistrar.cpp | 10 | ||||
-rw-r--r-- | tools/qmltyperegistrar/qmltypes.prf | 9 |
2 files changed, 17 insertions, 2 deletions
diff --git a/tools/qmltyperegistrar/qmltyperegistrar.cpp b/tools/qmltyperegistrar/qmltyperegistrar.cpp index 2cf309ff0d..98bd0f8c6f 100644 --- a/tools/qmltyperegistrar/qmltyperegistrar.cpp +++ b/tools/qmltyperegistrar/qmltyperegistrar.cpp @@ -199,6 +199,11 @@ int main(int argc, char **argv) majorVersionOption.setValueName(QStringLiteral("major version")); parser.addOption(majorVersionOption); + QCommandLineOption minorVersionOption(QStringLiteral("minor-version")); + minorVersionOption.setDescription(QStringLiteral("Minor version to use for module registration.")); + minorVersionOption.setValueName(QStringLiteral("minor version")); + parser.addOption(minorVersionOption); + QCommandLineOption pluginTypesOption(QStringLiteral("generate-plugintypes")); pluginTypesOption.setDescription(QStringLiteral("Generate plugins.qmltypes into specified directory.")); pluginTypesOption.setValueName(QStringLiteral("qmltypes target Directory")); @@ -348,8 +353,9 @@ int main(int argc, char **argv) qPrintable(module), qPrintable(majorVersion)); } - fprintf(output, "\n qmlRegisterModule(\"%s\", %s, QT_VERSION_MINOR);", - qPrintable(module), qPrintable(majorVersion)); + fprintf(output, "\n qmlRegisterModule(\"%s\", %s, %s);", + qPrintable(module), qPrintable(majorVersion), + qPrintable(parser.value(minorVersionOption))); fprintf(output, "\n}\n"); fprintf(output, "static const QQmlModuleRegistration registration(\"%s\", %s, %s);\n", qPrintable(module), qPrintable(majorVersion), qPrintable(functionName)); diff --git a/tools/qmltyperegistrar/qmltypes.prf b/tools/qmltyperegistrar/qmltypes.prf index 535abd3662..8d7fd3a498 100644 --- a/tools/qmltyperegistrar/qmltypes.prf +++ b/tools/qmltyperegistrar/qmltypes.prf @@ -5,6 +5,10 @@ qtPrepareTool(QML_TYPEREGISTRAR, qmltyperegistrar) # from moc.prf isEmpty(QML_IMPORT_MAJOR_VERSION):!isEmpty(IMPORT_VERSION): \ QML_IMPORT_MAJOR_VERSION = $$section(IMPORT_VERSION, ., 0, 0) + +isEmpty(QML_IMPORT_MINOR_VERSION):!isEmpty(IMPORT_VERSION): \ + QML_IMPORT_MINOR_VERSION = $$section(IMPORT_VERSION, ., 1, 1) + isEmpty(QML_IMPORT_NAME):!isEmpty(TARGETPATH) { QML_IMPORT_NAME = $$replace(TARGETPATH, "/", ".") QML_IMPORT_NAME = $$replace(QML_IMPORT_NAME, .$${QML_IMPORT_MAJOR_VERSION}$, '') @@ -18,6 +22,10 @@ isEmpty(QML_IMPORT_MAJOR_VERSION) { error("Need IMPORT_VERSION or QML_IMPORT_MAJOR_VERSION in order to generate qml types."); } +isEmpty(QML_IMPORT_MINOR_VERSION) { + QML_IMPORT_MINOR_VERSION = 0 +} + isEmpty(QMLTYPES_FILENAME) { plugin: QMLTYPES_FILENAME = $$OUT_PWD/plugins.qmltypes else: QMLTYPES_FILENAME = $$OUT_PWD/$${TEMPLATE}.qmltypes @@ -35,6 +43,7 @@ QML_TYPEREGISTRAR_FLAGS = \ --generate-plugintypes=$$QMLTYPES_FILENAME \ --import-name=$$QML_IMPORT_NAME \ --major-version=$$QML_IMPORT_MAJOR_VERSION \ + --minor-version=$$QML_IMPORT_MINOR_VERSION \ --foreign-types=$$join(foreign_types, ',') DEPENDENCIESFILE = $$_PRO_FILE_PWD_/dependencies.json |