mirror of
https://github.com/Q3Rally-Team/q3rally.git
synced 2024-11-28 14:42:33 +00:00
Add directions for compiling
This commit is contained in:
parent
00b5ebaf7b
commit
8ccf66ca7f
2 changed files with 97 additions and 0 deletions
7
README.md
Normal file
7
README.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
Q3Rally _It's damn fast, baby._
|
||||
===============================
|
||||
|
||||
Q3Rally is a standalone game based on ioquake3.
|
||||
|
||||
For compiling, see [engine/README.md](engine/README.md).
|
||||
|
90
engine/README.md
Normal file
90
engine/README.md
Normal file
|
@ -0,0 +1,90 @@
|
|||
Q3Rally engine
|
||||
==============
|
||||
|
||||
Q3Rally is a standalone game based on ioquake3. However it's not compatible with ioquake3.
|
||||
|
||||
## Compiling
|
||||
Q3Rally is compiled using GNU Make (`make`) from a terminal while in the engine directory.
|
||||
|
||||
`make ARCH=x86`, `make ARCH=x86_64`, `make ARCH=aarch64` (ARM64/Apple Silicon) specify compiling for a specific architecture instead of the host architecture.
|
||||
|
||||
### Windows
|
||||
There is several ways to get an MinGW-w64 build environment.
|
||||
|
||||
#### MSYS2
|
||||
1. Install MSYS2 with packages: git, make, mingw-w64-i686-gcc mingw-w64-x86_64-gcc
|
||||
2. Open "MSYS2 MinGW 64-bit"
|
||||
3. Get the Q3Rally source code with `git clone https://github.com/Q3Rally-Team/q3rally.git`. (If you have commit access use `git://` instead.)
|
||||
4. Change to the engine directory using "cd q3rally/engine"
|
||||
5. Run `make`
|
||||
|
||||
#### Cygwin
|
||||
:_This was more relevant before MSYS2 was made._
|
||||
1. Install Cygwin with packages: git, make, mingw64-i686-gcc-core, mingw64-x86_64-gcc-core
|
||||
2. Open "Cygwin"
|
||||
3. Get the Q3Rally source code with `git clone https://github.com/Q3Rally-Team/q3rally.git` (If you have commit access use `git://` instead.)
|
||||
4. Change to the engine directory using `cd q3rally/engine`
|
||||
5. Run `make`
|
||||
|
||||
#### WSL
|
||||
1. Install Windows Subsystem for Linux.
|
||||
2. Install a Linux distribution from the Windows store (e.g., Ubuntu).
|
||||
3. Open the start menu entry for the distribution (e.g., Ubuntu).
|
||||
4. Install Git, Make, and MinGW-w64 packages, for Ubuntu run: `sudo apt install git make mingw-w64`
|
||||
5. Get the Q3Rally source code with `git clone https://github.com/Q3Rally-Team/q3rally.git`. (If you have commit access use `git://` instead.)
|
||||
6. Change to the engine directory using "cd q3rally/engine"
|
||||
7. Run `make PLATFORM=mingw32`
|
||||
|
||||
It possible to compile for Linux under WSL using `make` or `./make-linux-portable.sh`. Compiling for macOS using osxcross is not supported under WSL as of writting.
|
||||
|
||||
### Linux
|
||||
1. Install `git make gcc libsdl2-dev` packages for your Linux distribution.
|
||||
2. Get the Q3Rally source code with `git clone https://github.com/Q3Rally-Team/q3rally.git`. (If you have commit access use `git://` instead.)
|
||||
3. Change to the engine directory using "cd q3rally/engine"
|
||||
4. Run `make`
|
||||
|
||||
To make a release which includes SDL2 run: `./make-linux-portable.sh x86_64` (also with x86).
|
||||
|
||||
`make PLATFORM=mingw32` and `make PLATFORM=darwin` can be used to cross-compile for Windows and macOS from Linux, if mingw-w64 and osxcross are installed.
|
||||
|
||||
### macOS
|
||||
1. Install Xcode from the AppStore (the GUI is optional, only the command-line tools are required).
|
||||
2. Open Terminal app.
|
||||
3. Get the Q3Rally source code with `git clone https://github.com/Q3Rally-Team/q3rally.git`. (If you have commit access use `git://` instead.)
|
||||
4. Change to the engine directory using "cd q3rally/engine"
|
||||
5. Run `make`
|
||||
|
||||
To create an AppBundle:
|
||||
* Single architecture: `./make-macosx.sh x86_64` (if needed, replace x86\_64 with aarch64 (Apple Silicon), x86, or ppc).
|
||||
* Modern macOS 10.9+ (Apple Silicon, x86_64): `./make-macosx-ub2.sh`
|
||||
* Legacy macOS 10.5+ (x86_64, x86, ppc): `./make-macosx-ub.sh`
|
||||
|
||||
Modern AppBundle requires macOS 11.0 SDK or later to be installed. Legacy AppBundle must be compiled on macOS 10.6 with 10.5 and 10.6 SDKs installed.
|
||||
|
||||
## Release builds
|
||||
Assuming you have everything set up; release builds could be done like this.
|
||||
|
||||
`clean` is used to do a fresh build to be sure VERSION, etc from Makefile are applied to the build.
|
||||
|
||||
`-j#` is the number of CPUs thread to use. Set it to your CPU cores/threads for faster compiling.
|
||||
|
||||
```
|
||||
# Windows; run on Windows or Linux with mingw-w64
|
||||
make PLATFORM=mingw32 ARCH=x86 clean release -j8
|
||||
make PLATFORM=mingw32 ARCH=x86_64 clean release -j8
|
||||
|
||||
# Linux; run on Linux or Windows (WSL)
|
||||
./make-linux-portable.sh ARCH=x86 clean release -j8
|
||||
./make-linux-portable.sh ARCH=x86_64 clean release -j8
|
||||
|
||||
# macOS Modern; run on macOS or Linux with osxcross
|
||||
make PLATFORM=darwin ARCH=aarch64 clean
|
||||
make PLATFORM=darwin ARCH=x86_64 clean
|
||||
./make-macosx-ub2.sh
|
||||
|
||||
# macOS Legacy: run on macOS 10.6
|
||||
make PLATFORM=darwin ARCH=x86_64 clean
|
||||
make PLATFORM=darwin ARCH=x86 clean
|
||||
make PLATFORM=darwin ARCH=ppc clean
|
||||
./make-macosx-ub.sh
|
||||
```
|
Loading…
Reference in a new issue