[cmake] enable clang-cl and WoA builds (#348)

Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.

Compiling on clang is *dramatically* faster so this should be useful for CI.

Co-authored-by: crueter <crueter@eden-emu.dev>
Co-authored-by: crueter <crueter@crueter.xyz>
Reviewed-on: #348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie 2025-09-09 20:47:49 +02:00 committed by crueter
parent 428f136a75
commit 9d2681ecc9
Signed by: crueter
GPG key ID: 425ACD2D4830EBC6
276 changed files with 973 additions and 1010 deletions

View file

@ -59,7 +59,7 @@ download_package() {
if grep -e "patches" <<< "$JSON" > /dev/null; then
PATCHES=$(jq -r '.patches | join(" ")' <<< "$JSON")
for patch in $PATCHES; do
patch -p1 < "$ROOTDIR"/.patch/$package/$patch
patch --binary -p1 < "$ROOTDIR"/.patch/$package/$patch
done
fi
@ -118,6 +118,14 @@ do
continue
fi
VERSION=$(jq -r ".version" <<< "$JSON")
GIT_VERSION=$(jq -r ".git_version" <<< "$JSON")
TAG=$(jq -r ".tag" <<< "$JSON")
SHA=$(jq -r ".sha" <<< "$JSON")
[ "$GIT_VERSION" == null ] && GIT_VERSION="$VERSION"
[ "$GIT_VERSION" == null ] && GIT_VERSION="$TAG"
# url parsing WOOOHOOHOHOOHOHOH
URL=$(jq -r ".url" <<< "$JSON")
REPO=$(jq -r ".repo" <<< "$JSON")
@ -173,7 +181,7 @@ do
# key parsing
KEY=$(jq -r ".key" <<< "$JSON")
if [ "$KEY" == null ]; then
if [ "$KEY" == null ]; then
if [ "$SHA" != null ]; then
KEY=$(cut -c1-4 - <<< "$SHA")
elif [ "$GIT_VERSION" != null ]; then