Details
-
Task
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
None
-
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
- is required for
-
QBS-1778 Use generated JSON file to create Qt modules
- Reported
- relates to
-
QTBUG-108435 Provide information about available Qt modules in a built/installed Qt
- Closed