Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-95320

qmltypes.prf uses $$lower (e.g. "TARGET_BASENAME = $$lower($$basename(TARGET))" which breaks building while using qmltyperegistrar tool on a case-sensitive filesystem

    XMLWordPrintable

    Details

    • Type: Suggestion
    • Status: Reported
    • Priority: P3: Somewhat important
    • Resolution: Unresolved
    • Affects Version/s: 5.15.0 RC2
    • Fix Version/s: None
    • Component/s: Build tools: qmake
    • Labels:
      None
    • Environment:

      Kubuntu 20.4 64-bit.

      Qt 5.15.2 (prebuild, 64-bit).

    • Platform/s:
      Linux/X11

      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!

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            qtbuildsystem Qt Build System Team
            Reporter:
            akon Alexander K
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes