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

    • Suggestion
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.15.0 RC2
    • Build tools: qmake
    • None
    • Kubuntu 20.4 64-bit.

      Qt 5.15.2 (prebuild, 64-bit).

    • 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

            qtbuildsystem Qt Build System Team
            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