2021-06-17 21:32:24 +00: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-27 02:52:18 +00:00
|
|
|
* ``MCPI_HEADLESS_MODE``
|
|
|
|
* ``ON`` (Default In Server Mode): Enable Headless Mode
|
|
|
|
* ``OFF`` (Default In Client Mode): Disable Headless Mode
|
2021-06-17 21:32:24 +00:00
|
|
|
* ``MCPI_USE_MEDIA_LAYER_PROXY``
|
|
|
|
* ``ON``: Enable The Media Layer Proxy
|
|
|
|
* ``OFF`` (Default): Disable The Media Layer Proxy
|
2021-12-19 21:09:16 +00:00
|
|
|
* ``MCPI_OPEN_SOURCE_ONLY``
|
|
|
|
* ``ON``: Only Install Open-Source Code (Will Result In Broken Install)
|
|
|
|
* ``OFF`` (Default): Install All Code
|
2021-06-17 21:32:24 +00:00
|
|
|
|
|
|
|
## Build Dependencies
|
|
|
|
* Common
|
|
|
|
* ARM Compiler
|
|
|
|
* Host Compiler (Clang)
|
|
|
|
* CMake
|
|
|
|
* Host Architecture Dependencies
|
|
|
|
* Client Mode Only
|
|
|
|
* GLFW
|
|
|
|
* FreeImage
|
2021-09-12 03:18:12 +00:00
|
|
|
* OpenAL
|
2021-06-17 21:32:24 +00:00
|
|
|
|
|
|
|
## Runtime Dependencies
|
|
|
|
* Non-ARM Host Architectures
|
2021-12-18 02:04:05 +00:00
|
|
|
* QEMU User-Mode
|
2021-06-17 21:32:24 +00:00
|
|
|
* Host Architecture Dependencies
|
|
|
|
* CLient Mode Only
|
|
|
|
* OpenGL ES 1.1
|
|
|
|
* GLFW
|
|
|
|
* FreeImage
|
2021-09-12 03:18:12 +00:00
|
|
|
* OpenAL
|
2021-06-17 21:32:24 +00: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 23:19:23 +00:00
|
|
|
cmake -DCMAKE_TOOLCHAIN_FILE=../../cmake/armhf-toolchain.cmake -DMCPI_BUILD_MODE=arm ../..
|
2021-06-17 21:32:24 +00:00
|
|
|
make -j$(nproc) && sudo make install
|
2021-09-22 02:15:04 +00:00
|
|
|
cd ../
|
2021-06-17 21:32:24 +00:00
|
|
|
|
|
|
|
# Build Native Components
|
|
|
|
mkdir native && cd native
|
|
|
|
cmake -DMCPI_BUILD_MODE=native ../..
|
|
|
|
make -j$(nproc) && sudo make install
|
2021-09-22 02:15:04 +00:00
|
|
|
cd ../../
|
2021-06-17 21:32:24 +00:00
|
|
|
```
|
|
|
|
|
2021-09-22 02:21:53 +00: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 21:32:24 +00: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-22 02:15:04 +00:00
|
|
|
cd ../
|
2021-06-17 21:32:24 +00:00
|
|
|
```
|