Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.0.0, 6.1.0 Alpha
-
None
Description
Background for this is in CMake's issue tracker here:
https://gitlab.kitware.com/cmake/cmake/-/issues/21823
As part of generating the meta types json files for Qt modules, the cmake_automoc_parser tool was added for Qt6. It reads files AutogenInfo.json and ParseCache.txt files generated by CMake's AUTOMOC functionality, but those files are internal to CMake and subject to change. The above issue highlights where these files were in fact changed before the CMake 3.20.0 release in a way that broke cmake_automoc_parser. While the breakage created by that particular change may ultimately be addressed in CMake, it demonstrates that we shouldn't be relying on something in CMake that isn't part of its public API.
We need to identify the information that cmake_automoc_parser is generating and what details it needs from CMake to do that. Note that it was written with the assumption that all sources and headers are not config-specific, but CMake now supports that. We need to take this into account in determining what cmake_automoc_parser needs going forward.
Once we can define what details are needed, we then need to work with the CMake developers to come up with a way to make that available through a public CMake API. This may consist of target properties, files that autogen writes out, etc. It will likely require changes on both the CMake and Qt sides. We would tentatively want to target CMake 3.21 for such a change, and likely Qt 6.2.
Attachments
Issue Links
- relates to
-
QTBUG-93443 qmltyperegistrar generates .cpp files that need header search paths to be manually added
-
- Reported
-
- mentioned in
-
Page Loading...