diff options
author | lat9nq <lat9nq@gmail.com> | 2022-05-29 03:35:08 -0400 |
---|---|---|
committer | lat9nq <lat9nq@gmail.com> | 2022-06-16 23:57:39 -0400 |
commit | c42fde2a373f676b5464168a8df14b22c6b46755 (patch) | |
tree | 0edc04f8fce4a6b3773257a3007519aecd7fb1f1 | |
parent | fef3d8acb51e6a23a73b7f3d2fbf21a80c41351c (diff) |
ci/windows: Build using Clang
Uses the MinGWClangCross toolchain script to build yuzu. Disables our
bundled SDL2 to use the system ones that have been modified to not use
`-mwindows`. Also set's `-e` to stop the script on an error (as opposed
to packaging nothing).
Uses LLVM's linker for linking yuzu. Adds -femulated-tls due to a
libstdc++ incompatibility between GCC and Clang in vulkan_common.
-rwxr-xr-x | .ci/scripts/windows/docker.sh | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index d1a0d6ab9..f53d837d1 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -1,19 +1,27 @@ #!/bin/bash -ex +set -e + cd /yuzu ccache -s mkdir build || true && cd build +LDFLAGS="-fuse-ld=lld" +# -femulated-tls required due to an incompatibility between GCC and Clang +# TODO(lat9nq): If this is widespread, we probably need to add this to CMakeLists where appropriate cmake .. \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../CMakeModules/MinGWCross.cmake" \ + -DCMAKE_CXX_FLAGS="-femulated-tls" \ + -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../CMakeModules/MinGWClangCross.cmake" \ -DDISPLAY_VERSION=$1 \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ -DENABLE_QT_TRANSLATION=ON \ -DUSE_CCACHE=ON \ - -GNinja \ -ninja + -DYUZU_USE_BUNDLED_SDL2=OFF \ + -DYUZU_USE_EXTERNAL_SDL2=OFF \ + -GNinja +ninja yuzu yuzu-cmd ccache -s |