Details
-
Suggestion
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.15.0 RC2
-
None
-
Kubuntu 20.4 64-bit.
Qt 5.15.2 (prebuild, 64-bit).
Description
Hi, since Qt 5.6 there is "CONFIG *= file_copies" undocumented feature, which, as far as I know, many developers found pleasant as an INSTALL alternative or extra compiler feature doing just file copying.
The issue a met occurs on case sensitive filesystem for an ordinal QML app, containing the following key fragment in its pro-file:
CONFIG += qmltypes
QML_IMPORT_NAME = ProjectQmlComponents
QML_IMPORT_MAJOR_VERSION = 1
CONFIG *= file_copies # Since Qt 5.6, for more info see mkspecs/features/file_copies.prf
COPIES += APP_QML_TYPES
APP_QML_TYPES.files = $$OUT_PWD/$${TARGET}.qmltypes
APP_QML_TYPES.path = $$DESTDIR
This fragment generates makefile containing the following command:
qmltyperegistrar --generate-qmltypes=<my target in lower case>.qmltypes ...
which produces the issue if TARGET contains upper case letters. Actually, the issue comes from features/qmltypes.prf, line 32 (Qt 5.15.2):
TARGET_BASENAME = $$lower($$basename(TARGET))
Finally, due to TARGET mismatches due to letter's case there is "No rule to make target" error occurs further on make stage.
I would happy if features/qmltypes.prf will not mangle the initial TARGET name. Thanks!