ougge/README.md
2024-08-09 23:02:20 +03:00

49 lines
1.9 KiB
Markdown

# OUGGE
A game engine or something, idk.
## Installation
1. Clone the repository.
```sh
git clone --recurse-submodules https://timerix.ddns.net:3322/Timerix/ougge.git
```
2. Install [cbuild](https://timerix.ddns.net:3322/Timerix/cbuild.git).
3. Install [SDL2](https://github.com/libsdl-org/SDL) and [SDL2_image](https://github.com/libsdl-org/SDL_image).
- On **Linux** install shared libraries from a package manager or compile them from source.
- On **Windows** download pre-built dll's from github releases and put them into `dependencies/precompiled/`.
4. Symlink SDL headers directory to `dependencies/include`.
```sh
ln -s SDL2_HEADERS_DIRECTORY_ABSOLUTE_PATH -T dependencies/include/SDL2
```
Location of the headers can be found by `pkg-config --cflags --libs sdl2`.
Mingw installs SDL2 headers to `/mingw64/include/SDL2`.
5. Install [mono](https://github.com/mono/mono).
1. Download and extract [sources](https://download.mono-project.com/sources/mono/index.html)
```sh
mkdir mono
cd mono
wget https://download.mono-project.com/sources/mono/mono-6.12.0.199.tar.xz
tar xJf mono-6.12.0.199.tar.xz
mv mono-6.12.0.199/* ./
rm -r mono-6.12.0.199
rm mono-6.12.0.199.tar.xz
```
2. Install `libz autoconf automake libtool gettext cmake python3 curl` and
3. Build mono. If something doesn't work, read [documentation](https://www.mono-project.com/docs/compiling-mono/)
```sh
mkdir -p mono_prefix
./autogen.sh --prefix=$(realpath mono_prefix) --disable-boehm
make get-monolite-latest
make -j8
make install
```
3. Install `patchelf`
4. Install mono files in project.
```sh
cd ..
cbuild get_mono_files_from=mono/mono_prefix
```
7. Compile the program
```sh
cbuild build_exec_dbg
```