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.
This commit is contained in:
		| @@ -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 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user