Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-85279

Qt for macOS on Apple Silicon (arm64)

XMLWordPrintable

      Tracking task for work required to make Qt work on Apple Silicon (arm64)

      Please file any issues as standalone bugs and link them to this issue.

      The work can be roughly grouped into three areas, by increasing priority:

      1. Making sure x86_64 builds of Qt work when running via Rosetta (QTBUG-86405)
      2. Making sure single architecture arm64 builds work and run fine
      3. Enabling universal builds of Qt, building and packaging x86_64 and arm64 together (QTBUG-85447)

      The last step is the one requiring the most work, as neither our qmake or CMake build systems are prepared for multi architecture builds. In the interim the user can build Qt twice, their app twice, and then lipo the application binaries into a universal app.

      Note: The work for making Qt run well on macOS 11 (Big Sur) is tracked in QTBUG-85546

      Building for Apple Silicon

      Building on the DTK should work like a normal Qt for macOS build.

      Cross compiling

      With qmake
      export DEVELOPER_DIR=/path/to/your/Xcode12-universal.app/Contents/Developer
      ./configure $CONFIGURE_OPTIONS -device-option QMAKE_APPLE_DEVICE_ARCHS=arm64
      
      With CMake (Qt 6.0 only)

      Build Qt for macOS natively first, so that you have the host tools buildt in for example /build/qt/6.0/qtbase. Then in /build/qt/6.0-arm/qtbase

      export DEVELOPER_DIR=/path/to/your/Xcode12-universal.app/Contents/Developer
      cmake ~/dev/qt/6.0/qtbase -DQT_HOST_PATH=~/build/qt/6.0/qtbase -DCMAKE_SYSTEM_NAME=Darwin -DCMAKE_OSX_ARCHITECTURES=arm64
      

        For Gerrit Dashboard: QTBUG-85279
        # Subject Branch Project Status CR V

            vestbo Tor Arne Vestbø
            vestbo Tor Arne Vestbø
            Veli-Pekka Heinonen Veli-Pekka Heinonen
            Tor Arne Vestbø Tor Arne Vestbø
            Votes:
            87 Vote for this issue
            Watchers:
            155 Start watching this issue

              Created:
              Updated:
              Resolved: