aboutsummaryrefslogtreecommitdiff
path: root/readme.md
blob: d095d74451dfcdd5aad8518a749ee0b8e2cd6249 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# crêpe

This repository contains:

|folder|content|
|-|-|
|`lib/`|third-party libraries as git submodules|
|`mwe/`|minimal working examples and standalone proof-of-concepts (isolated from the engine)|
|`src/crepe/`|game engine source code|
|`src/test/`|unit tests|
|`src/example/`|standalone examples or proof-of-concepts using game engine internals|

## Compilation

This repository uses CMake (the makefile in the root of this repository is for
running auxiliary tasks only). See [src/readme.md](src/readme.md) for detailed
building instructions.

## Installing libraries

The expected library (source) versions are included in this repository as git
submodules. Follow these steps for manually building one of the required
libraries from source:

1. Ensure the git submodules are initialized:
   ```
   $ git submodule update --init --recursive --depth 1
   ```
2. `cd` into the library source folder:
   ```
   $ cd lib/googletest
   or
   $ cd lib/sdl2
   or
   $ cd lib/soloud/contrib
   ```
3. Configure the build, run the build and install:
   ```
   $ cmake -B build -G Ninja
   $ ninja -C build
   # ninja -C build install
   ```

## Documentation

API documentation is done using Doxygen. To generate the docs, run
```
$ make doxygen
```

## Code style

Please read [contributing.md](./contributing.md).