aboutsummaryrefslogtreecommitdiff

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 for detailed building instructions.

Code style

Please read contributing.md.

Libraries

This project uses the following libraries

Name Version
SDL2 2.30.9
SDL2_image 2.8.2
SDL_ttf 2.22.0
SoLoud (latest git master version)
Google Test (GTest) 1.15.2
Berkeley DB (libdb) 5.3.21
Where Am I? (latest git master version)
fontconfig 2.15.0

[!NOTE] Most of these libraries are likely available from your package manager if you are using Linux or MinGW. Make sure your entire distribution is up-to-date if you are not using a rolling release distribution.

The sources for all of the above libraries are also included in this repository as git submodules, which may be used if your distro's package manager does not provide (recent enough versions of) them. To build any of the libraries manually, make sure the submodules are initialized by running:

$ git submodule update --init --recursive --depth 1

Then, follow these steps for each library you want to install:

[!IMPORTANT] A dollar sign prompt ($) indicates commands to be run as a regular user, while a hashtag (#) is used to denote commands that must be run with privileges (e.g. as root or using sudo).

  1. Change into the library folder (run one of these):
    $ cd lib/googletest
    $ cd lib/sdl2
    $ cd lib/soloud/contrib
    $ cd lib/sdl_image
    $ cd lib/sdl_ttf
    $ cd lib/whereami
  2. Use CMake to configure the build, run the build and install (run all of these):
    $ cmake -B build -G Ninja
    $ cmake --build build
    # cmake --install build

Tooling

  • TODO

Documentation

API documentation is done using Doxygen. To generate the docs, run

$ make doxygen