[QGIS-Developer] Qt6 status
David Koňařík
dvdkon at konarici.cz
Thu Aug 21 05:04:25 PDT 2025
On 8/21/25 11:21, Marco Bernasocchi via QGIS-Developer wrote:
> Thanks Nyall for the work and answer.
> on the other two points,
>
> - having some solution for the extremely slow sip build times on qt6
>
> Martin, do you have an ETA for David's grant https://github.com/qgis/
> QGIS-Enhancement-Proposals/pull/338 <https://github.com/qgis/QGIS-
> Enhancement-Proposals/pull/338>
I'm bad with ETAs, but a status update is certainly in order:
I've found the most straightforward way to build the bindings
incrementally is to make each QGIS header into a Python module, since
those can be built piecemeal without changes to SIP.
This necessitated some changes to sipify and minor fixes in the QGIS
headers, since the current code was made with the assumption of all the
files being effectively concatenated together. I also had to make some
changes to SIP to either fix bugs or to make it more lenient when parsing.
Currently the binding code for QGIS core can be generated and I'm
cleaning up some build errors in the generated C++. Sadly the clean
build doesn't cache anything between modules, so it takes a couple
hours. I've made a few changes to SIP to speed it up in general [0], but
it looks like caching of imports is necessary to make the the build
times reasonable.
SIP's not very amenable to such caching, since it mostly treats imports
like fancy includes, but I think I've found a not-too-complex way to
rework imports so that each module is only parsed once.
David Koňařík
[0]:
https://github.com/dvdkon/sip/commit/647c4ced32d69ec54ab01ab583b2ae5c90257246
More information about the QGIS-Developer
mailing list