https://bugs.kde.org/show_bug.cgi?id=454506
--- Comment #1 from Javier O. Cordero Pérez (Cuperino)
---
I've managed to successfully build Qt 5.15.3 and KF5 5.93.0 on macOS Big Sur
11.6 using clang compiler on an M1 Mac. No version of Qt 5.15 (tested 5.15.2
through 5.15.4) can be build on later versions of MacOS because of API changes
in macOS 12. You have to use macOS Big Sur to create M1 builds of Qt 5.
After getting a working development environment on my system, I went back and
tried getting Craft to work with Apple Silicon by making the following changes
to `CraftSettings.ini`:
> ABI = macOS-arm64-clang
> UseCache = False
Then attempted to install kcoreaddons by running `craft --no-cache
kcoreaddons`. Various dependencies installed successfully, but the build
stopped early when glib failed to compile due to architecture mismatch while
linking dependency libglib. Here are notable parts of compilation output, in
case they're of any use:
>[130/1287] Compiling C object glib/tests/bitlock.p/bitlock.c.o
>[131/1287] Compiling Objective-C object
>glib/libglib-2.0.0.dylib.p/gosxutils.m.o
>[132/1287] Compiling C object glib/tests/cache.p/cache.c.o
>[133/1287] Compiling C object glib/tests/base64.p/base64.c.o
>[134/1287] Compiling C object glib/tests/charset.p/charset.c.o
>[135/1287] Compiling C object glib/tests/bytes.p/bytes.c.o
>[136/1287] Linking target glib/libglib-2.0.0.dylib
>FAILED: glib/libglib-2.0.0.dylib
>cc -o glib/libglib-2.0.0.dylib
>glib/libglib-2.0.0.dylib.p/deprecated_gallocator.c.o
>glib/libglib-2.0.0.dylib.p/deprecated_gcache.c.o
>glib/libglib-2.0.0.dylib.p/deprecated_gcompletion.c.o
>glib/libglib-2.0.0.dylib.p/deprecated_grel.c.o
>glib/libglib-2.0.0.dylib.p/deprecated_gthread-deprecated.c.o
>glib/libglib-2.0.0.dylib.p/garcbox.c.o glib/libglib-2.0.0.dylib.p/garray.c.o
>glib/libglib-2.0.0.dylib.p/gasyncqueue.c.o
>glib/libglib-2.0.0.dylib.p/gatomic.c.o
>glib/libglib-2.0.0.dylib.p/gbacktrace.c.o
>glib/libglib-2.0.0.dylib.p/gbase64.c.o glib/libglib-2.0.0.dylib.p/gbitlock.c.o
>glib/libglib-2.0.0.dylib.p/gbookmarkfile.c.o
>glib/libglib-2.0.0.dylib.p/gbytes.c.o glib/libglib-2.0.0.dylib.p/gcharset.c.o
>glib/libglib-2.0.0.dylib.p/gchecksum.c.o
>glib/libglib-2.0.0.dylib.p/gconvert.c.o
>glib/libglib-2.0.0.dylib.p/gdataset.c.o glib/libglib-2.0.0.dylib.p/gdate.c.o
>glib/libglib-2.0.0.dylib.p/gdatetime.c.o glib/libglib-2.0.0.dylib.p/gdir.c.o
>glib/libglib-2.0.0.dylib.p/genviron.c.o glib/libglib-2.0.0.dylib.p/gerror.c.o
>glib/libglib-2.0.0.dylib.p/gfileutils.c.o
>glib/libglib-2.0.0.dylib.p/ggettext.c.o glib/libglib-2.0.0.dylib.p/ghash.c.o
>glib/libglib-2.0.0.dylib.p/ghmac.c.o glib/libglib-2.0.0.dylib.p/ghook.c.o
>glib/libglib-2.0.0.dylib.p/ghostutils.c.o
>glib/libglib-2.0.0.dylib.p/giochannel.c.o
>glib/libglib-2.0.0.dylib.p/gkeyfile.c.o
>glib/libglib-2.0.0.dylib.p/glib-init.c.o
>glib/libglib-2.0.0.dylib.p/glib-private.c.o
>glib/libglib-2.0.0.dylib.p/glist.c.o glib/libglib-2.0.0.dylib.p/gmain.c.o
>glib/libglib-2.0.0.dylib.p/gmappedfile.c.o
>glib/libglib-2.0.0.dylib.p/gmarkup.c.o glib/libglib-2.0.0.dylib.p/gmem.c.o
>glib/libglib-2.0.0.dylib.p/gmessages.c.o glib/libglib-2.0.0.dylib.p/gnode.c.o
>glib/libglib-2.0.0.dylib.p/goption.c.o glib/libglib-2.0.0.dylib.p/gpattern.c.o
>glib/libglib-2.0.0.dylib.p/gpoll.c.o glib/libglib-2.0.0.dylib.p/gprimes.c.o
>glib/libglib-2.0.0.dylib.p/gqsort.c.o glib/libglib-2.0.0.dylib.p/gquark.c.o
>glib/libglib-2.0.0.dylib.p/gqueue.c.o glib/libglib-2.0.0.dylib.p/grand.c.o
>glib/libglib-2.0.0.dylib.p/grcbox.c.o glib/libglib-2.0.0.dylib.p/grefcount.c.o
>glib/libglib-2.0.0.dylib.p/grefstring.c.o
>glib/libglib-2.0.0.dylib.p/gregex.c.o glib/libglib-2.0.0.dylib.p/gscanner.c.o
>glib/libglib-2.0.0.dylib.p/gsequence.c.o glib/libglib-2.0.0.dylib.p/gshell.c.o
>glib/libglib-2.0.0.dylib.p/gslice.c.o glib/libglib-2.0.0.dylib.p/gslist.c.o
>glib/libglib-2.0.0.dylib.p/gstdio.c.o glib/libglib-2.0.0.dylib.p/gstrfuncs.c.o
>glib/libglib-2.0.0.dylib.p/gstring.c.o
>glib/libglib-2.0.0.dylib.p/gstringchunk.c.o
>glib/libglib-2.0.0.dylib.p/gtestutils.c.o
>glib/libglib-2.0.0.dylib.p/gthread.c.o
>glib/libglib-2.0.0.dylib.p/gthreadpool.c.o
>glib/libglib-2.0.0.dylib.p/gtimer.c.o glib/libglib-2.0.0.dylib.p/gtimezone.c.o
>glib/libglib-2.0.0.dylib.p/gtrace.c.o glib/libglib-2.0.0.dylib.p/gtranslit.c.o
>glib/libglib-2.0.0.dylib.p/gtrashstack.c.o
>glib/libglib-2.0.0.dylib.p/gtree.c.o glib/libglib-2.0.0.dylib.p/guniprop.c.o
>glib/libglib-2.0.0.dylib.p/gutf8.c.o glib/libglib-2.0.0.dylib.p/gunibreak.c.o
>glib/libglib-2.0.0.dylib.p/gunicollate.c.o
>glib/libglib-2.0.0.dylib.p/gunidecomp.c.o glib/libglib-2.0.0.dylib.p/guri.c.o
>glib/libglib-2.0.0.dylib.p/gutils.c.o glib/libglib-2.0.0.dylib.p/guuid.c.o
>glib/libglib-2.0.0.dylib.p/gvariant.c.o
>glib/libglib-2.0.0.dylib.p/gvariant-core.c.o
>glib/libglib-2.0.0.dylib.p/gvariant-parser.c.o
>glib/libglib-2.0.0.dylib.p/gvariant-serialiser.c.o
>glib/libglib-2.0.0.dylib.p/gvarianttypeinfo.c.o
>glib/libglib-2.0.0.dylib.p/gva