2021-06-17 17:32:24 -04:00
|
|
|
# Building
|
|
|
|
|
|
|
|
## Build Options
|
|
|
|
* ``MCPI_BUILD_MODE``
|
|
|
|
* ``arm``: Only Build ARM Components
|
|
|
|
* ``native``: Only Build Native Components
|
|
|
|
* ``both`` (Default): Build Both ARM And Native Components For ARM
|
|
|
|
* ``MCPI_SERVER_MODE``
|
|
|
|
* ``ON``: Enable Server Mode
|
|
|
|
* ``OFF`` (Default): Disable Server Mode
|
2021-08-26 22:52:18 -04:00
|
|
|
* ``MCPI_HEADLESS_MODE``
|
|
|
|
* ``ON`` (Default In Server Mode): Enable Headless Mode
|
|
|
|
* ``OFF`` (Default In Client Mode): Disable Headless Mode
|
2021-06-17 17:32:24 -04:00
|
|
|
* ``MCPI_USE_MEDIA_LAYER_PROXY``
|
|
|
|
* ``ON``: Enable The Media Layer Proxy
|
|
|
|
* ``OFF`` (Default): Disable The Media Layer Proxy
|
2021-12-19 16:09:16 -05:00
|
|
|
* ``MCPI_OPEN_SOURCE_ONLY``
|
|
|
|
* ``ON``: Only Install Open-Source Code (Will Result In Broken Install)
|
|
|
|
* ``OFF`` (Default): Install All Code
|
2021-06-17 17:32:24 -04:00
|
|
|
|
|
|
|
## Build Dependencies
|
|
|
|
* Common
|
|
|
|
* ARM Compiler
|
|
|
|
* Host Compiler (Clang)
|
|
|
|
* CMake
|
|
|
|
* Host Architecture Dependencies
|
|
|
|
* Client Mode Only
|
|
|
|
* GLFW
|
|
|
|
* FreeImage
|
2021-09-11 23:18:12 -04:00
|
|
|
* OpenAL
|
2021-06-17 17:32:24 -04:00
|
|
|
|
|
|
|
## Runtime Dependencies
|
|
|
|
* Non-ARM Host Architectures
|
2021-12-17 21:04:05 -05:00
|
|
|
* QEMU User-Mode
|
2021-06-17 17:32:24 -04:00
|
|
|
* Host Architecture Dependencies
|
|
|
|
* CLient Mode Only
|
|
|
|
* OpenGL ES 1.1
|
|
|
|
* GLFW
|
|
|
|
* FreeImage
|
2021-09-11 23:18:12 -04:00
|
|
|
* OpenAL
|
2021-06-17 17:32:24 -04:00
|
|
|
* Zenity
|
|
|
|
|
|
|
|
## Two-Step Build
|
|
|
|
Use this when the host architecture is not ARM.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
# Create Build Directory
|
|
|
|
mkdir build && cd build
|
|
|
|
|
|
|
|
# Build ARM Components
|
|
|
|
mkdir arm && cd arm
|
2021-12-17 18:19:23 -05:00
|
|
|
cmake -DCMAKE_TOOLCHAIN_FILE=../../cmake/armhf-toolchain.cmake -DMCPI_BUILD_MODE=arm ../..
|
2021-06-17 17:32:24 -04:00
|
|
|
make -j$(nproc) && sudo make install
|
2021-09-21 22:15:04 -04:00
|
|
|
cd ../
|
2021-06-17 17:32:24 -04:00
|
|
|
|
|
|
|
# Build Native Components
|
|
|
|
mkdir native && cd native
|
|
|
|
cmake -DMCPI_BUILD_MODE=native ../..
|
|
|
|
make -j$(nproc) && sudo make install
|
2021-09-21 22:15:04 -04:00
|
|
|
cd ../../
|
2021-06-17 17:32:24 -04:00
|
|
|
```
|
|
|
|
|
2021-09-21 22:21:53 -04:00
|
|
|
This will most likely not compile by itself. You will want to enable either server mode or the Media Layer Proxy.
|
|
|
|
|
2021-06-17 17:32:24 -04:00
|
|
|
## One-Step Build
|
|
|
|
Use this when the host architecture is ARM.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
# Create Build Directory
|
|
|
|
mkdir build && cd build
|
|
|
|
|
|
|
|
# Build
|
|
|
|
cmake ..
|
|
|
|
make -j$(nproc) && sudo make install
|
2021-09-21 22:15:04 -04:00
|
|
|
cd ../
|
2021-06-17 17:32:24 -04:00
|
|
|
```
|