qt-build-tools/README.md
2022-07-11 12:47:20 +02:00

2.1 KiB

Qt build tools and patches

This is a set of build tools and required patches to build Qt yourself and distribute it along with your app on macOS and Windows.

macOS

For macOS we currently distribute two binaries:

  • Modern, compiled with Qt 5.15.10 for macOS 10.13+. If you do not own a commercial license, you can still use Qt 5.15.2, the folder contains number of mostly macOS-related patches already applied in order to be compiled and used normally on modern macOS versions (e.g. Big Sur or Monterey). Building universal binaries for both x86_64 & Apple Silicon with Qt 5.15.2 is tricky, but possible.

  • Legacy, compiled with Qt 5.6.3 for macOS 10.7-10.12. The folder contains several macOS-related patches (QTBUG-40583, QTBUG-18624, QTBUG-52536, QTBUG-63451 ) already applied in order to be compiled and used normally. For compilation we use macOS 10.13 and XCode 8.

To apply patches and compile Qt the same as we do, simply copy the contents of the folder (Qt 5.15.2 or Qt 5.6.3) to the official Qt source tree (overwriting existing files of cause).

Compiling your app with both modern and legacy Qt can be done on modern macOS with XCode.

When compiling a project with Qt 5.6.3 on arm64 host machine some additional steps are required in your .pro file:

# compiler flags:
QMAKE_CXXFLAGS += "-arch x86_64"
QMAKE_CFLAGS += "-arch x86_64"
QMAKE_LFLAGS += "-arch x86_64"
# linker flags, required to support 10.7, otherwise minimum deployment target is 10.9
QMAKE_LFLAGS += "-stdlib=libc++"

Windows

On Windows you need VS2019 Community Edition and Perl. QtNetwork module is compiled using openssl-1.1.1k which is pre-compiled but once you delete the folder, it will be compiled again.