[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