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

qt_add_qml_module - what has changed between versions?

    XMLWordPrintable

Details

    • All
    • 84207647b (dev), 98e78e22c (6.6), 78b4519cb (6.5), b6d32bbe1 (dev), 13bf19cde (6.6), ba0345486 (6.5)

    Description

      On the pageĀ Building a QML application it says:

      > By passing REQUIRES 6.5 to qt_standard_project_setup, we opt-in to useful defaults for qt_add_qml_module.

      What are those useful defaults? In fact, what has changed between Qt 6.4 and Qt 6.5? Looking at the current Qt 6 page for qt_add_qml_module, there is no mention of defaults or of changes from the previous version.

      I used ChatGPT to analyse the Qt 6.4 and Qt 6.5 versions of this document. Below is its report of the differences. Again no mention of useful defaults.

      I am aware that there are changes happening across the Qt CMake suite with each version. However the documentation generally leaves me in the dark as to what has changed and how that might impact me. For the changes that are documented, there is no mention that these were introduced or modified in Qt 6.5. Instead it's left to me to use ChatGPT or look at the pages side by side to work it out.

      I have picked one particular page, but this applies across all the CMake documentation. e.g. qt_generate_deploy_app_script replaces parameter FILENAME_VARIABLE with OUTPUT_SCRIPT which is a breaking change that goes without mention.

      ChatGPT analysis of changes between Qt 6.4 & Qt 6.5 for qt_add_qml_module

      1. *DESIGNER_SUPPORTED Keyword*:

      • *Qt 6.4*: Mentioned that the `DESIGNER_SUPPORTED` keyword should be used if the QML module supports Qt Quick Designer. When present, the generated .qmldir file will contain a `designersupported` line, which affects how the Qt Quick Designer handles the plugin.
      • *Qt 6.5*: This keyword is not mentioned in the retrieved content.

      2. *FOLLOW_FOREIGN_VERSIONING Keyword*:

      • *Qt 6.4*: Detailed explanation about the `FOLLOW_FOREIGN_VERSIONING` keyword, which relates to the versioning of base types defined in different QML modules. It discusses how this keyword can be used to synchronize versioning with base types from other modules.
      • *Qt 6.5*: This keyword is not mentioned in the retrieved content.

      3. *NAMESPACE Keyword*:

      • *Qt 6.4*: Mentioned that if a namespace is specified using the `NAMESPACE` keyword, the plugin and registration code will be generated into a C++ namespace of this name.
      • *Qt 6.5*: This keyword is not mentioned in the retrieved content.

      4. *Static and Non-static Qt Builds*:

      • *Qt 6.4*: Discussed the behavior of `qmlimportscanner` during configure time for static Qt builds and build time for non-static Qt builds. It also mentioned the `NO_SCAN` option to disable scans and the responsibilities that come with using this option.
      • *Qt 6.5*: This section is not mentioned in the retrieved content.

      5. *Compiling .qml Files to C++ Source Code*:

      • *Qt 6.4*: Mentioned the possibility of compiling .qml files to C++ source code and the use of the `TYPE_COMPILER_NAMESPACE` argument to define a namespace for the generated C++ code.
      • *Qt 6.5*: This section is not mentioned in the retrieved content.

      Please note that the differences mentioned are based on the absence of these sections in the Qt 6.5 content retrieved. It's possible that these sections might be present in other parts of the documentation or that they have been deprecated or replaced by other features in Qt 6.5.

      Attachments

        For Gerrit Dashboard: QTBUG-117089
        # Subject Branch Project Status CR V

        Activity

          People

            ulherman Ulf Hermann
            paulmasri Paul
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: