# Deer

Deer is a game engine currently in development by Chewico, focused on facilitating voxel-based scenarios.

# How to Compile

Deer can compile for both Linux and Windows. Mac support is not considered due to philosophical and technical reasons.
Deer is built using Premake 5, which generates project files for various build systems such as Make and MSVC.

You can check out Premake at:

- [Premake Official Website](https://premake.github.io)
- [Premake Core Source Code](https://github.com/premake/premake-core)

## Linux

### Clone the repo

```bash
git clone --recursive https://git.frostdeer.com/Chewico/DeerEngine.git
cd DeerEngine
```

### Generating Project Files

Install dependencies (if you haven't already):

```bash
sudo apt-get update
sudo apt-get install uuid-dev make gcc
```

Build Premake from source:

```bash
cd vendor/premake-core
make -f Bootstrap.mak linux
cd ../..
```

Generate Makefiles:

```bash
vendor/premake-core/bin/release/premake5 gmake
```

If you want to generate a VSCode workspace, run:

```bash
vendor/premake-core/bin/release/premake5 vscode
```

### Compile

Before compiling, ensure you have the necessary dependencies installed:

```bash
sudo apt update
sudo apt install clang libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgtk-3-dev gdb
```

Then compile the project:

```bash
make
```

### Run

```bash
./bin/linux-x86_64/Debug/DeerStudio/DeerStudio
```
