1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-15 11:03:00 +01:00

Move build instructions to the GitHub repo wiki

This commit is contained in:
Matt
2025-04-26 12:29:23 +03:00
committed by GitHub
parent 0d96235f32
commit aeeaaa6f1b

137
readme.md
View File

@@ -43,8 +43,6 @@ If you want to help translate the game to your language, please stop by the Loca
- 1 - [Introduction](#1-introduction)
- 2 - [Downloading the game (pre-built)](#2-downloading-the-game-pre-built)
- 3 - [Building the game](#3-building-the-game)
- 3.1 - [Building prerequisites](#31-building-prerequisites)
- 3.2 - [Compiling and running](#32-compiling-and-running)
- 4 - [Contributing](#4-contributing)
- 4.1 - [Bug fixes](#41-bug-fixes)
- 4.2 - [New features](#42-new-features)
@@ -92,136 +90,11 @@ Some \*BSD operating systems offer native packages:
---
# 3. Building the game
## 3.1 Building prerequisites
OpenRCT2 requires original files of RollerCoaster Tycoon 2 to play. It can be bought at either [Steam](https://store.steampowered.com/app/285330/) or [GOG.com](https://www.gog.com/game/rollercoaster_tycoon_2).
<details>
<summary>Windows prerequisites</summary>
There are two toolchain options for building the game on Windows:
- Visual Studio 2022 (Enterprise / Professional / [Community (Free)](https://www.visualstudio.com/vs/community/))
- Desktop development with C++
- MSYS2 MinGW Toolchain
- The toolchains with supported dependencies are `mingw-x86_64`, `mingw-xi686`, `ucrt-x86_64`, `clang-x86_64`, and `clang-xi686`. Each of these require the `$MINGW_PACKAGE_PREFIX` set.
- Note that `msys` and `clangarm-64` are lacking packages for some dependencies.
The projects depends on several libraries to be installed. These can be installed automatically using `msbuild` for Visual Studio builds. See section 3.2 for details.
For MinGW builds, see the wiki for [the actual package names used in pacman](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-MSYS2-MinGW).
</details>
<details>
<summary>macOS prerequisites</summary>
- Xcode Command Line Tools
- [Homebrew](https://brew.sh)
- CMake (available through Homebrew)
</details>
<details>
<summary>Linux prerequisites</summary>
- gcc (>= 8.0) or clang (>= 10.0) (for C++20 support)
- sdl2 (only for UI client)
- freetype (can be disabled)
- fontconfig (can be disabled)
- libzip (>= 1.0)
- libpng (>= 1.2)
- speexdsp (only for UI client)
- curl (only if building with http support)
- nlohmann-json (>= 3.9.0)
- openssl (>= 1.0; only if building with multiplayer support)
- icu (>= 59.0)
- zlib
- gl (commonly provided by Mesa or GPU vendors; only for UI client, can be disabled)
- cmake
- innoextract (optional runtime dependency; used for GOG installer extraction during setup)
Refer to https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Linux#required-packages-general for more information about installing the packages.
</details>
---
## 3.2 Compiling and running
### Windows:
<details>
<summary>Show instructions</summary>
1. Check out the repository, this can be done using [GitHub Desktop](https://desktop.github.com) or [other tools](https://help.github.com/articles/which-remote-url-should-i-use)
2. Open a new Developer Command Prompt for VS 2022
3. Navigate to the repository (e.g. `cd C:\GitHub\OpenRCT2`)
4. To build the x64 version, use `msbuild openrct2.proj /t:build /p:platform=x64`
To build the x86 version, use `msbuild openrct2.proj /t:build /p:platform=Win32`
To build the Arm64 version, use `msbuild openrct2.proj /t:build /p:platform=arm64`
**Note:** The file `g2.dat` may not be generated on cross-compilation (e.g. building for Arm64 on a x64 machine). In this case `g2.dat` must be copied from a x86/x64 build.
5. Run the game, `bin\openrct2`
Once you have ran msbuild once, further development can be done within Visual Studio by opening `openrct2.sln`. Make sure to select the correct target platform for which you ran the build in point #3 (`Win32` for the x86 version, `x64` for the x64 version, `arm64` for the Arm64 version), otherwise the build will fail in Visual Studio.
Other examples:
```
set platform=x64
msbuild openrct2.proj /t:clean
msbuild openrct2.proj /t:rebuild /p:configuration=release
msbuild openrct2.proj /t:g2
msbuild openrct2.proj /t:PublishPortable
```
</details>
### macOS:
<details>
<summary>Show instructions</summary>
CMake can build either a self-contained application bundle, which includes all the necessary game files and dependencies, or it can build a command line version that links against system installed dependencies. CMake will retrieve the dependencies from [Dependencies](https://github.com/OpenRCT2/Dependencies/) automatically. You can build the macOS app using CMake using the following commands:
```
cmake -S . -B build
cmake --build build --target install
```
Then you can run the game by opening `OpenRCT2.app`
To build the command line version, you'll need to disable the macOS app bundle:
```
cmake -S . -B build -DMACOS_BUNDLE=off
cmake --build build
cmake --build build --target install
ln -s ../data data
```
Then you can run the game by running `./openrct2`.
To link against system dependencies instead of letting CMake download the dependencies from [Dependencies](https://github.com/OpenRCT2/Dependencies), add `-DMACOS_USE_DEPENDENCIES=off` to your cmake args.
Detailed instructions can be found on [Building OpenRCT2 on macOS using CMake](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-macOS-using-CMake).
</details>
### Linux:
<details>
<summary>Show instructions</summary>
The standard CMake build procedure is to install the [required libraries](https://github.com/OpenRCT2/OpenRCT2#linux), then:
```
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=. # set your standard cmake options, e.g. build type here - For example, -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build # you can parallelise your build job with e.g. -j 8 or consider using ninja
cmake --build build --target install # the install target creates all the necessary files in places we expect them
```
You can also use Ninja in place of Make using `-G Ninja` in the first command, if you prefer, see Wiki for details.
Detailed instructions can be found on [Building OpenRCT2 on Linux](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Linux).
Note: the `cmake -S . -B build` syntax is available for CMake >= 3.14. For older versions use:
```
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=. # set your standard cmake options, e.g. build type here - For example, -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build . --target install
```
</details>
- [Building OpenRCT2 on Linux](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Linux)
- [Building OpenRCT2 on macOS using CMake](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-macOS-using-CMake)
- [Building OpenRCT2 on Windows](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Windows)
- [Building OpenRCT2 on Windows Subsystem for Linux](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Windows-Subsystem-for-Linux)
- [Building OpenRCT2 on MSYS2 MinGW](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-MSYS2-MinGW)
---