From 9a9cf60f1865cff2bdb8b471941c46569628af17 Mon Sep 17 00:00:00 2001 From: Giovanni Santini Date: Thu, 18 Nov 2021 11:28:48 +0100 Subject: [PATCH] Add building instructions (#851) * Added building instructions This can help users to contribute to the project. * fix: Improve the last part of the building section --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/README.md b/README.md index 7a15db4..c115e46 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,44 @@ Check out the [wiki](https://github.com/Davidobot/BetterJoy/wiki)! There, you'll 1. Click on it and a "Remove" button will be revealed. 1. Press the "Remove" button +# Building + +## Visual Studio (IDE) + +1. If you didn't already, install **Visual Studio Community 2019** via + [the official guide](https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2019). + When asked about the workloads, select **.NET Desktop Development**. +2. Get the code project via Git or by using the *Download ZIP* button. +3. Open Visual Studio Community and open the solution file (*BetterJoy.sln*). +4. Open the NuGet manager via *Tools > NuGet Package Manager > Package Manager Settings*. +5. You should have a warning mentioning *restoring your packages*. Click on the **Restore** button. +6. You can now run and build BetterJoy. + +## Visual Studio Build Tools (CLI) +1. Download **Visual Studio Build Tools** via + [the official link](https://visualstudio.microsoft.com/it/downloads/#build-tools-for-visual-studio-2019). +2. Install **NuGet** by following + [the official guide](https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools#nugetexe-cli). + You should follow the section for ***nuget.exe***. + Verify that you can run `nuget` from your favourite terminal. +3. Get the code project via Git or by using the *Download ZIP* button. +4. Open a terminal (*cmd*, *PowerShell*, ...) and enter the folder with the source code. +5. Restore the NuGet dependencies by running: `nuget restore` +6. Now build the app with MSBuild: + ``` + msbuild .\BetterJoy.sln -p:Configuration=CONFIGURATION -p:Platform=PLATFORM -t:Rebuild + ``` + The available values for **CONFIGURATION** are *Release* and *Debug*. + The available values for **PLATFORM** are *x86* and *x64* (you want the latter 99.99% of the time). +7. You have now built the app. See the next section for locating the binaries. + +## Binaries location +The built binaries are located under + +*BetterJoyForCemu\bin\PLATFORM\CONFIGURATION* + +where `PLATFORM` and `CONFIGURATION` are the one provided at build time. + # Acknowledgements A massive thanks goes out to [rajkosto](https://github.com/rajkosto/) for putting up with 17 emails and replying very quickly to my silly queries. The UDP server is also mostly taken from his [ScpToolkit](https://github.com/rajkosto/ScpToolkit) repo.