diff --git a/Building-for-Windows.md b/Building-for-Windows.md index cd3ef06..0f289da 100644 --- a/Building-for-Windows.md +++ b/Building-for-Windows.md @@ -1,42 +1,53 @@ ## MSVC Build for Windows + ### Minimal Dependencies + On Windows, all library dependencies are automatically included within the "externals" folder or can be downloaded on-demand. To build yuzu, you simply need to install: * **[Visual Studio 2017 Community](https://www.visualstudio.com/products/visual-studio-community-vs)** - **Make sure to select C++ support in the installer**. * **[CMake](http://www.cmake.org/cmake/resources/software.html)** - Used to generate Visual Studio project files. + ![2](https://i.imgur.com/S1NH63P.png) + * **Git** - We recommend [msysgit](http://msysgit.github.io/). + ![3](http://i.imgur.com/joCBhIB.jpg) + * While installing Git Bash, you should tell it to include Git in your system path. (Choose the "Use Git from the Windows Command Prompt" option.) If you missed that, don't worry, you'll just have to manually tell CMake where your git.exe is, since it's used to include version info into the built executable. ![4](http://i.imgur.com/th8sFud.jpg) +### Cloning yuzu with Git -### Cloning yuzu in Git: - -``` +```cmd git clone --recursive https://github.com/yuzu-emu/yuzu.git cd yuzu ``` + ![9](https://i.imgur.com/xq15xTB.png) NOTE: yuzu by default downloads to C:\Users\\yuzu ### Building + * Open cmake-gui and point it to the yuzu directory. Default: C:\Users\\yuzu + ![10](https://i.imgur.com/YKmNs1p.png) ![11](https://i.imgur.com/SWxOVKB.png) - * For the build directory, use a `build/` subdirectory inside the source directory or some other directory of your choice. (Tell CMake to create it.) - * Click the "Configure" button and choose "Visual Studio 15 2017 Win64" +* For the build directory, use a `build/` subdirectory inside the source directory or some other directory of your choice. (Tell CMake to create it.) + +* Click the "Configure" button and choose "Visual Studio 15 2017 Win64" + ![12](http://i.imgur.com/RvVcyCP.jpg) - * When CMake gives you an error, find the YUZU_USE_BUNDLED_SDL2 and YUZU_USE_BUNDLED_QT options on the list and check their respective checkboxes. Click configure again. CMake will now download the required libraries. +* When CMake gives you an error, find the YUZU_USE_BUNDLED_SDL2 and YUZU_USE_BUNDLED_QT options on the list and check their respective checkboxes. Click configure again. CMake will now download the required libraries. ![13](https://i.imgur.com/BX3Ek4h.png) ![14](https://i.imgur.com/K2E8y8s.png) - * NOTE: If you used github's own app to clone, run "git submodule update --init --recursive" to get remaining dependencies. - * Click "Generate" to create the project files. + +* NOTE: If you used GitHub's own app to clone, run `git submodule update --init --recursive` to get the remaining dependencies. +* Click "Generate" to create the project files. ![15](http://i.imgur.com/CkZgD4p.jpg) @@ -44,17 +55,17 @@ NOTE: yuzu by default downloads to C:\Users\\yuzu ![16](https://i.imgur.com/q4dSKXR.png) - * Depending if you want a graphical user interface or not ("yuzu" is with a graphical user interface, while "yuzu-cmd" is just the command line version of it), select "yuzu" or "yuzu-cmd" in the Solution Explorer, right-click and "Set as StartUp Project". +* Depending if you want a graphical user interface or not ("yuzu" is with a graphical user interface, while "yuzu-cmd" is just the command line version of it), select "yuzu" or "yuzu-cmd" in the Solution Explorer, right-click and "Set as StartUp Project". ![17](https://i.imgur.com/2h8q6at.png) ![18](http://i.imgur.com/FkuAwd8.jpg) - * Select the appropriate build type, Debug for debug purposes or Release for performance (in case of doubt choose the latter). +* Select the appropriate build type, Debug for debug purposes or Release for performance (in case of doubt choose the latter). ![19](http://i.imgur.com/Gqifkc0.jpg) - * Press F5 or select Build → Rebuild Solution in the menu. +* Press F5 or select Build → Rebuild Solution in the menu. ![20](http://i.imgur.com/7ro9uSB.jpg) @@ -62,24 +73,27 @@ Feel free to ask us in the IRC channel #yuzu @ [Freenode](https://webchat.freeno ## MinGW-w64 Build with MSYS2 -### ***NOTE THAT THESE INSTRUCTIONS ARE FOR CITRA AND ARE LIKELY OUTDATED FOR YUZU. EXPECT TO HAVE TO FIX UNICORN LINKING *** +:warning: Note that these instructions are for citra and are likely outdated for yuzu. Expect to have to fix unicorn linkage issues. -#### Prerequisites to install - * [MSYS2](http://msys2.github.io/) +### Prerequisites to install + +* [MSYS2](http://msys2.github.io/) Make sure to follow the instructions and update to the latest version by running `pacman -Syu` as many times as needed. -#### Install yuzu dependencies for MinGW-w64 - * Open the "MSYS2 MinGW 64-bit" (mingw64.exe) shell - * Download and install all dependencies using: `pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-qt5 mingw-w64-x86_64-SDL2 mingw-w64-x86_64-cmake make git` +### Install yuzu dependencies for MinGW-w64 -#### Clone the yuzu repository with git. +* Open the "MSYS2 MinGW 64-bit" (mingw64.exe) shell +* Download and install all dependencies using: `pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-qt5 mingw-w64-x86_64-SDL2 mingw-w64-x86_64-cmake make git` - * `git clone --recursive https://github.com/yuzu-emu/yuzu.git` - * `cd yuzu` +### Clone the yuzu repository with Git -#### Run the following commands to build yuzu (dynamic linked build) -```bash +* `git clone --recursive https://github.com/yuzu-emu/yuzu.git` +* `cd yuzu` + +### Run the following commands to build yuzu (dynamic linked build) + +```cmd mkdir build && cd build cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release .. make -j4 @@ -87,37 +101,39 @@ make -j4 ./bin/yuzu-qt.exe ``` -##### Note! This build is not a static build meaning that you need to include all of the dlls with the exe in order to use it. +**Note! This build is not a static build meaning that you need to include all of the dlls with the exe in order to use it.** -#### Building without Qt (Optional) +### Building without Qt (Optional) Doesn't require the rather large Qt dependency, but you will lack a GUI frontend. * Pass the `-DENABLE_QT=no` flag to cmake - ## Clang build using clang-cl :warning: This section is outdated and may not work -#### Prerequisites to install - * **[LLVM](http://releases.llvm.org/download.html#3.9.0)** - The clang compiler - * **[Visual Studio 2015 Community](https://www.visualstudio.com/products/visual-studio-community-vs)** - **Make sure to select C++ support in the installer**. - * **[CMake](http://www.cmake.org/cmake/resources/software.html)** - Used to generate Visual Studio project files. - * **Git** - We recommend [msysgit](http://msysgit.github.io/). +### Prerequisites to install + +* **[LLVM](http://releases.llvm.org/download.html#3.9.0)** - The clang compiler +* **[Visual Studio 2015 Community](https://www.visualstudio.com/products/visual-studio-community-vs)** - **Make sure to select C++ support in the installer**. +* **[CMake](http://www.cmake.org/cmake/resources/software.html)** - Used to generate Visual Studio project files. +* **Git** - We recommend [msysgit](http://msysgit.github.io/). + Follow the installers instructions. -#### Clone the yuzu repository with git. +### Clone the yuzu repository with Git - * `git clone --recursive https://github.com/yuzu-emu/yuzu.git` - * `cd yuzu` +* `git clone --recursive https://github.com/yuzu-emu/yuzu.git` +* `cd yuzu` -#### Run the following commands to build yuzu -``` +### Run the following commands to build yuzu + +```cmd mkdir build cd build cmake.exe .. -TLLVM-vs2014 -G"Visual Studio 15 2017 Win64" -Dyuzu_USE_BUNDLED_SDL2=1 -Dyuzu_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_UNICORN=1 -DCMAKE_BUILD_TYPE=Release cmake --build . --target yuzu-qt # test yuzu out with -.\bin\Release\yuzu-qt +.\bin\Release\yuzu-qt ``` \ No newline at end of file