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

Extend JSON interface to fully support third-party build systems

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • None
    • Build System: CMake
    • None

    Description

      In Qt 6, every module provides an associated JSON file carrying some meta data about itself.

      With some additional content, these could be the authoritative source of information for third-party build tools, which at the moment need to painstakingly parse qmake or CMake files not  actually intended for consumption by other tools.

      The following is a list of data currently retrieved by qbs when building Qt projects. All of these would need to be present in the JSON files in some form or other. I have left off things that are already there, like the version number.

      • From qconfig.pri:
        • QT_NAMESPACE  (already present)
        • CONFIG
        • QT_CONFIG
        • QT.global.enabled_features
        • QT.global.disabled_features
        • QMAKE_MACOSX_DEPLOYMENT_TARGET
        • QMAKE_IOS_DEPLOYMENT_TARGET
      • From qmake.conf:
        • QMAKE_TVOS_DEPLOYMENT_TARGET
        • QMAKE_WATCHOS_DEPLOYMENT_TARGET
      • From qconfig.h: QT_MAC_USE_COCOA (still relevant?)
      • From mkspecs/modules/qt_{ext,lib,plugin}.pri:
        • QMAKE_LIBS and QMAKE_INCDIR (external modules only)
        • QT.<name>.depends
        • QT.<name>.module_config ("no_link", "staticlib", "internal_module", "lib_bundle", ...)
        • QT.<name>.includes
        • QT.<name>.libs
        • QT.<name>.DEFINES
        • QT.<name>.plugin_types
        • QT.<name>.TYPE
        • QT.<name>.EXTENDS
        • QT.<name>.CLASS_NAME
      • From *.prl:
        •  QMAKE_PRL_TARGET
        • QMAKE_PRL_CONFIG
        • QMAKE_PRL_LIBS (preferably in structured form, rather as a command line; i.e. differentiate between library paths, libraries, framework paths, frameworks)

       

      Attachments

        Issue Links

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

          Activity

            People

              qtbuildsystem Qt Build System Team
              kandeler Christian Kandeler
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes