Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
Description
Currently qtbase and qtdeclarative have some public CMake API marked as Technical Preview.
The important bits are the qt_add_plugin and qt6_add_qml_module ones.
They should be refactored / fixed, to ensure they work for public example projects (importantly as standalone projects).
This probably implies moving a big chunk of qt_internal_add_plugin implementation into the public qt_add_plugin counterpart.
The main idea behind the refactoring would be not to have duplicate target creation in the public and private counterparts.
So for qt_internal_add_plugin and qt6_add_plugin case, the add_library() calls should be removed from the internal function, and moved into the public one, as well as any additional logic that makes sense to move (like CLASS_NAME handling, plugin type handling, qml plugin handling, file name suffix handling, etc).
The OUTPUT_DIR and INSTALL_DIR logic should probably be kept in the internal variant.
The same should be done for qt_internal_add_qml_module and qt6_add_qml_module.
Attachments
Issue Links
- is required for
-
QTBUG-89274 Make public, documented API for compile time QML type registration with CMake
- Closed
-
QTBUG-94581 Review and Document new Qt 6.2 CMake API
- Closed
- relates to
-
QTBUG-86827 Document new Qt 6 CMake API
- Closed
-
QTBUG-91522 qt_internal_add_qml_module() calls through to qt6_add_plugin() but qt6_add_qml_module() doesn't
- Reported
-
QTBUG-82598 Establish a public API for building static QML plugins
- Closed
-
QTBUG-91621 Add a CMake wrapper for building a QML-friendly library
- Closed
- mentioned in
-
Page Loading...