diff options
| author | 2022-05-29 03:35:08 -0400 | |
|---|---|---|
| committer | 2022-06-16 23:57:39 -0400 | |
| commit | c42fde2a373f676b5464168a8df14b22c6b46755 (patch) | |
| tree | 0edc04f8fce4a6b3773257a3007519aecd7fb1f1 /.ci | |
| parent | CMakeModules: Add MinGWClangCross (diff) | |
| download | yuzu-c42fde2a373f676b5464168a8df14b22c6b46755.tar.gz yuzu-c42fde2a373f676b5464168a8df14b22c6b46755.tar.xz yuzu-c42fde2a373f676b5464168a8df14b22c6b46755.zip | |
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.
Diffstat (limited to '.ci')
| -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 @@ | |||
| 1 | #!/bin/bash -ex | 1 | #!/bin/bash -ex |
| 2 | 2 | ||
| 3 | set -e | ||
| 4 | |||
| 3 | cd /yuzu | 5 | cd /yuzu |
| 4 | 6 | ||
| 5 | ccache -s | 7 | ccache -s |
| 6 | 8 | ||
| 7 | mkdir build || true && cd build | 9 | mkdir build || true && cd build |
| 10 | LDFLAGS="-fuse-ld=lld" | ||
| 11 | # -femulated-tls required due to an incompatibility between GCC and Clang | ||
| 12 | # TODO(lat9nq): If this is widespread, we probably need to add this to CMakeLists where appropriate | ||
| 8 | cmake .. \ | 13 | cmake .. \ |
| 9 | -DCMAKE_BUILD_TYPE=Release \ | 14 | -DCMAKE_BUILD_TYPE=Release \ |
| 10 | -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../CMakeModules/MinGWCross.cmake" \ | 15 | -DCMAKE_CXX_FLAGS="-femulated-tls" \ |
| 16 | -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../CMakeModules/MinGWClangCross.cmake" \ | ||
| 11 | -DDISPLAY_VERSION=$1 \ | 17 | -DDISPLAY_VERSION=$1 \ |
| 12 | -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ | 18 | -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ |
| 13 | -DENABLE_QT_TRANSLATION=ON \ | 19 | -DENABLE_QT_TRANSLATION=ON \ |
| 14 | -DUSE_CCACHE=ON \ | 20 | -DUSE_CCACHE=ON \ |
| 15 | -GNinja \ | 21 | -DYUZU_USE_BUNDLED_SDL2=OFF \ |
| 16 | ninja | 22 | -DYUZU_USE_EXTERNAL_SDL2=OFF \ |
| 23 | -GNinja | ||
| 24 | ninja yuzu yuzu-cmd | ||
| 17 | 25 | ||
| 18 | ccache -s | 26 | ccache -s |
| 19 | 27 | ||