mirror of https://github.com/ppy/osu
Create a compilation guide
This commit is contained in:
parent
08e15d63c4
commit
7250d2e6ca
|
@ -0,0 +1,40 @@
|
||||||
|
# Linux
|
||||||
|
### 1. Requirements:
|
||||||
|
Mono >= 5.4.0 (>= 5.8.0 recommended)
|
||||||
|
Please check [here](http://www.mono-project.com/download/) for stable or [here](http://www.mono-project.com/download/alpha/) for an alpha release.
|
||||||
|
NuGet >= 4.4.0
|
||||||
|
msbuild
|
||||||
|
git
|
||||||
|
|
||||||
|
### 2. Cloning project
|
||||||
|
Clone the entire repository with submodules using
|
||||||
|
```
|
||||||
|
git clone https://github.com/ppy/osu --recursive
|
||||||
|
```
|
||||||
|
Then restore NuGet packages from the repository
|
||||||
|
```
|
||||||
|
nuget restore
|
||||||
|
```
|
||||||
|
We also need OpenTK >= 3.0.0-pre
|
||||||
|
```
|
||||||
|
nuget install opentk -version=3.0.0-pre
|
||||||
|
```
|
||||||
|
### 3. Compiling
|
||||||
|
Simply run `msbuild` where `osu.sln` is located, this will create all binaries in `osu/osu.Desktop/bin/Debug`.
|
||||||
|
### 4. Optimizing
|
||||||
|
If you want additional performance you can change build type to Release with
|
||||||
|
```
|
||||||
|
msbuild -p:Configuration=Release
|
||||||
|
```
|
||||||
|
Additionally, mono provides an AOT utility which attempts to precompile binaries. You can utilize that by running
|
||||||
|
```
|
||||||
|
mono --aot ./osu\!.exe
|
||||||
|
```
|
||||||
|
### 5. Troubleshooting
|
||||||
|
You may run into trouble with NuGet versioning, as the one in packaging system is almost always out of date. Simply run
|
||||||
|
```
|
||||||
|
nuget
|
||||||
|
sudo nuget update -self
|
||||||
|
```
|
||||||
|
**Warning** NuGet creates few config files when it's run for the first time.
|
||||||
|
Do not run NuGet as root on the first run or you might run into very peculiar issues.
|
Loading…
Reference in New Issue