WIP: mingw64 gcc/clang support #278
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "gcc/clang_support"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
HOW TO TEST:
Compile in MSVC. If it's safe, then it's safe to approve.
HOW TO COMPILE IN MINGW64:
GCC:
export CC="ccache gcc" CXX="ccache g++"
cmake -S . -B build-gcc -G Ninja -DYUZU_USE_CPM=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_QT=ON -DYUZU_USE_BUNDLED_QT=OFF -DYUZU_USE_BUNDLED_SDL2=OFF -DYUZU_USE_BUNDLED_FFMPEG=OFF -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_ASM_COMPILER=gcc
(Alternative: WITH LTO:
cmake -S . -B build-gcc-lto -G Ninja -DYUZU_USE_CPM=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_QT=ON -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_AR=gcc-ar -DCMAKE_RANLIB=gcc-ranlib -DCMAKE_NM=gcc-nm -DCMAKE_C_FLAGS="-O3 -flto -fno-fat-lto-objects" -DCMAKE_CXX_FLAGS="-O3 -flto -fno-fat-lto-objects" -DCMAKE_EXE_LINKER_FLAGS="-flto" -DCMAKE_SHARED_LINKER_FLAGS="-flto"
)
cmake --build build-gcc -j$(nproc)
CLANG:
export CC="ccache clang" CXX="ccache clang++"
cmake -S . -B build-clang -G Ninja -DYUZU_USE_CPM=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_QT=ON -DYUZU_USE_BUNDLED_QT=OFF -DYUZU_USE_BUNDLED_SDL2=OFF -DYUZU_USE_BUNDLED_FFMPEG=OFF -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_ASM_COMPILER=clang
cmake --build build-clang -j$(nproc)
MSVC (cli):
Open “x64 Native Tools Command Prompt for VS 2022” (or Developer PowerShell).
cmake -S . -B build-msvc -G "Visual Studio 17 2022" -A x64 -DYUZU_USE_CPM=ON -DENABLE_QT=ON -DYUZU_ENABLE_LTO=ON
cmake --build build-msvc --config Release --parallel
CHANGES:
-pre released RotateRight32 and RotateRight64 defs in src\dynarmic\src\dynarmic\ir\opcodes.h
-removed unecessary #define stat _stat64 macro in src\core\file_sys\vfs\vfs_real.cpp
-added target link libraries for specific case (win32 & (gcc || clang)) in src\yuzu_cmd\CMakeLists.txt and src\yuzu\CMakeLists.txt
-avoided isDarkMode never used error with [ [maybe_unused] ] in src\yuzu\main.cpp
-covered #pragma comment(lib, "Dwmapi.lib") with a #ifdef _MSC_VER condition in src\yuzu\main.cpp
-covered #pragma comment(lib, "wlanapi.lib") with a #ifdef _MSC_VER condition on multiple files
37f8921057
to939acbbb4d
this will be buried and people will have to look it up, Please add it under docs/build/Windows.md
mingw64 gcc/clang supportto WIP: mingw64 gcc/clang supportNeeds docs and CI scripts updated here and in the workflow repo
939acbbb4d
to70811426e6
70811426e6
to29c32d0f45
Pull request closed