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

Extend JSON interface to fully support third-party build systems

XMLWordPrintable

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

      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)

       

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

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

              Created:
              Updated:

                There are no open Gerrit changes