Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
193 changed files
with
5,580 additions
and
4,371 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,89 @@ | ||
# Building openBVE from source | ||
|
||
This file is a WIP set of instructions for building openBVE from source. | ||
Note that as NuGet packages are used, the first-time build requires an internet connection. | ||
|
||
## Prerequisites | ||
|
||
### Windows | ||
Either .NET Framework 4.7.2 or Mono 5.20.1 or later, x86 or x64 | ||
|
||
#### When to use .NET Framework | ||
|
||
- Visual Studio 2017 or later, x86 or x64 | ||
- .NET Framework 4.7.2 or later, x86 or x64 | ||
|
||
#### When to use Mono | ||
|
||
- Mono 5.20.1 or later, x86 or x64 | ||
- NuGet client 2.16 or later | ||
|
||
### Linux | ||
Mono 5.20.1 or later, x86 or x64, and the following packages: | ||
|
||
- mono-runtime | ||
- libmono-corlib4.5-cil | ||
- libmono-system-drawing4.0-cil | ||
- libmono-system-windows-forms4.0-cil | ||
- libmono-system4.0-cil | ||
- libmono-system-xml-linq4.0-cil | ||
- libmono-i18n4.0-all | ||
- libmono-microsoft-csharp4.0-cil | ||
|
||
- Mono 5.20.1 or later, x86 or x64 | ||
- NuGet client 2.16 or later | ||
- OpenAL | ||
- GNU Make | ||
- debhelper (Debian and compatibles only) | ||
- libopenal1 | ||
|
||
#### Debian and compatibles | ||
|
||
NOTE: You need to get Mono from [the Mono project repository](https://www.mono-project.com/download/stable/#download-lin), not the distribution repository. | ||
|
||
```bash | ||
sudo apt install build-essential mono-devel libmono-i18n4.0-all nuget libopenal1 debhelper | ||
``` | ||
|
||
#### RHEL and compatibles | ||
|
||
NOTE: You need to get Mono from [the Mono project repository](https://www.mono-project.com/download/stable/#download-lin), not the distribution repository. | ||
|
||
```bash | ||
sudo dnf install @"Development Tools" mono-devel mono-locale-extras nuget openal-soft | ||
``` | ||
|
||
#### Reference information | ||
|
||
You can install the latest NuGet client using the command below. | ||
|
||
```bash | ||
sudo curl -o /usr/local/lib/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe | ||
echo -e '#!/bin/sh\nexec /usr/bin/mono /usr/local/lib/nuget.exe "$@"' | sudo tee /usr/local/bin/nuget | ||
sudo chmod 755 /usr/local/bin/nuget | ||
``` | ||
|
||
### Mac | ||
Mono 5.20.1 or later, x86 only. | ||
|
||
- Mono 5.20.1 or later, x86 only | ||
- NuGet client 2.16 or later | ||
- OpenAL | ||
- GNU Make | ||
|
||
## Building | ||
|
||
**Note that as NuGet packages are used, the first-time build requires an internet connection.** | ||
|
||
### Windows | ||
Open the main OpenBVE.sln file with Visual Studio. | ||
Build the required project, allowing NuGet to restore the packages as required. | ||
|
||
### Mac / Linux | ||
#### When to use .NET Framework | ||
|
||
1. Open the main OpenBVE.sln file with Visual Studio. | ||
2. Build the required project, allowing NuGet to restore the packages as required. | ||
|
||
#### When to use Mono | ||
|
||
Open the main openBVE source directory in the terminal. | ||
You may either build using the makefile, which supports the following options: | ||
1. Start "Open Mono Command Prompt" from the start menu. | ||
2. Open the main openBVE source directory in this terminal. | ||
3. Restore the packages as required. `nuget restore OpenBVE.sln` | ||
4. Build the solution. `msbuild OpenBVE.sln` | ||
|
||
### Mac / Linux | ||
|
||
* make - Restores the NuGet packages only. | ||
* make all-release - Creates a release build. | ||
* make all-debug - Creates a debug build. | ||
* make debian - On Debian and compatibles, creates an installable deb package. | ||
* make publish - On Mac, creates an app package. | ||
1. Open the main openBVE source directory in the terminal. | ||
2. You may either build using the makefile, which supports the following options: | ||
- `make` - Restores the NuGet packages only. | ||
- `make all-release` - Creates a release build. | ||
- `make all-debug` - Creates a debug build. | ||
- `make clean-all` - Cleans release and debug builds. | ||
- `make openbve-release` - Creates a release build without tools. | ||
- `make openbve-debug` - Creates a debug build without tools. | ||
- `make debian` - On Debian and compatibles, creates an installable deb package. | ||
- `make publish` - On Mac, creates an app package. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.