# OUGGE A game engine or something, idk. ## Installation 1. Clone the repository. ```sh git clone --recurse-submodules https://timerix.ddns.net/git/Timerix/ougge.git ``` 2. Install [cbuild](https://timerix.ddns.net/git/Timerix/cbuild). 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). **Windows:** 1. Install mono from official website 2. Copy `*.dll` files from `C:\Program Files\Mono\bin` to `dependencies/precompiled/` 3. Copy `config` from `C:\Program Files\Mono\etc\mono` to `dependencies/precompiled/mono-libs` and rename to `config.xml` 4. Copy `mscorlib.dll` from `C:\Program Files\Mono\lib\mono\4.5\` to `dependencies/precompiled/mono-libs` **Linux:** 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 ``` 5. Now you can delete `mono` directory and save 3 gigabytes of disk space :3 7. Compile the program ```sh cbuild build_exec_dbg ```