pro2cmake.py: Parse qmldir import statements with versions

You can write the following in a qmldir file these days:

import QtQuick auto
import QtQml 2.4

pro2cmake should understand and convert these to cmake.

Change-Id: Ica1728de0c8d7a0b2b5aa341d20e60b23dfa7fe1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This commit is contained in:
Ulf Hermann 2020-06-23 18:21:24 +02:00
parent a641720151
commit fd52a6fcb9

View File

@ -681,6 +681,9 @@ class QmlDir:
elif entries[0] == "designersupported": elif entries[0] == "designersupported":
self.designer_supported = True self.designer_supported = True
elif entries[0] == "import": elif entries[0] == "import":
if len(entries) == 3:
self.imports.append(entries[1] + "/" + entries[2])
else:
self.imports.append(entries[1]) self.imports.append(entries[1])
elif len(entries) == 3: elif len(entries) == 3:
self.handle_file(entries[0], entries[1], entries[2]) self.handle_file(entries[0], entries[1], entries[2])
@ -3399,7 +3402,7 @@ def write_example(
raise RuntimeError( raise RuntimeError(
"Only qmldir import statements expected in conditional scope!" "Only qmldir import statements expected in conditional scope!"
) )
import_list.append(qml_import[len("import ") :]) import_list.append(qml_import[len("import ") :].replace(" ", "/"))
if len(import_list) == 0: if len(import_list) == 0:
continue continue
@ -3703,7 +3706,7 @@ def write_qml_plugin(
raise RuntimeError( raise RuntimeError(
"Only qmldir import statements expected in conditional scope!" "Only qmldir import statements expected in conditional scope!"
) )
import_list.append(qml_import[len("import ") :]) import_list.append(qml_import[len("import ") :].replace(" ", "/"))
if len(import_list) == 0: if len(import_list) == 0:
continue continue