From aeeaaa6f1bde55e5aeb97493bca3081fa64a308f Mon Sep 17 00:00:00 2001 From: Matt <5415177+ZehMatt@users.noreply.github.com> Date: Sat, 26 Apr 2025 12:29:23 +0300 Subject: [PATCH] Move build instructions to the GitHub repo wiki --- readme.md | 137 ++---------------------------------------------------- 1 file changed, 5 insertions(+), 132 deletions(-) diff --git a/readme.md b/readme.md index dc5fc597ba..b0e3b7b776 100644 --- a/readme.md +++ b/readme.md @@ -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). - -
- Windows prerequisites - - 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). -
- -
- macOS prerequisites - - - Xcode Command Line Tools - - [Homebrew](https://brew.sh) - - CMake (available through Homebrew) - -
- -
- Linux prerequisites - - - 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. - -
- ---- - -## 3.2 Compiling and running -### Windows: -
- Show instructions - - 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 - ``` -
- -### macOS: -
- Show instructions - - 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). -
- -### Linux: -
- Show instructions - - 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 - ``` -
+- [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) ---