aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2019-10-22 15:46:42 +0200
committerUlf Hermann <ulf.hermann@qt.io>2019-10-24 15:23:37 +0200
commit220e32c0925b060a5eed72b555bf47b02012e8ea (patch)
tree55319c7fd469757f5ab5938b04e87cf1f9bdaa0f /tools
parent6d02fe20d94169839b661c18b46f3841dfbf0d9b (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.cpp10
-rw-r--r--tools/qmltyperegistrar/qmltypes.prf9
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