[Qgis-psc] Mac builds using Qt6

Matthias Kuhn matthias at opengis.ch
Fri Jan 10 09:15:19 PST 2025


Dear PSC,

Over the last weeks since we had the budget meeting, I took the time to
completely dive into mac builds once again.

I am happy to announce that mac builds using Qt6 are now a reality (merge
pending).

https://github.com/qgis/QGIS/pull/60039

Here's what's done:
- All dependencies are built via vcpkg in the CI pipeline
- The packaging logic has been revisited and a lot of cmake code has been
cleaned up
- We build arm64 (M series) and x64 (Intel) builds in two parallel matrix
jobs
- The two builds are then picked up in a follow up job to create a
universal app (one app that runs on both architectures).
- Finally the app is packaged into a .dmg for installation
- This currently happens for every pull request -- and after merging also
for master and releases
- I took care that gdal algorithms are also working

A few notes:
- I originally planned to use macdeployqt (an tool developed by Qt) which
changes rpaths to relative paths on all libraries. The tool is quite slow
and took almost half an hour for the amount of libraries included in QGIS.
I therefore wrote a new python based tool, that does the same job in a more
efficient way (takes a few seconds now) and can also be adjusted for
notarization (I assume we will need to revisit some python specific
requirements which the macdeployqt tool very likely is not prepared for). I
am still hesitating if I should publish it to pypi or leave it in the QGIS
source code where it is now.
- We had our graphic designer prepare an image for the installer, inspired
by the new website design

And most important: the changes in this pull request will make it
impossible to use the legacy mac packager dependencies. Once this is
merged, we will no longer be able to release Qt5-based packages using the
classic release mechanism. (it will continue to work for QGIS 3.40, LTR).
It would be possible to also build qt5 based packages using vcpkg, but as
discussed at the PSC meeting, efforts should be preferably put into
notarization.

I would therefore like to ask, if it's preferable to merge this pre-3.42 or
if we should postpone this to post-3.42. Given that 3.42 is a regular
release and we are (very likely) heading towards a Qt6 focused world
towards the end of this year, we might as well merge it now, but I think
this will need some communication to make mac users aware of these
implications.

More technical details and an installer to download and test can be found
in the pull request linked above.
Kind regards
Matthias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-psc/attachments/20250110/fa2c6096/attachment.htm>


More information about the QGIS-PSC mailing list