diff options
Diffstat (limited to 'readme.md')
-rw-r--r-- | readme.md | 72 |
1 files changed, 52 insertions, 20 deletions
@@ -5,10 +5,10 @@ This repository contains: |folder|content| |-|-| |`lib/`|third-party libraries as git submodules| -|`mwe/`|minimal working examples and proof-of-concepts| +|`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 using game engine| +|`src/example/`|standalone examples or proof-of-concepts using game engine internals| ## Compilation @@ -16,31 +16,67 @@ 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 +## Code style -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: +Please read [contributing.md](./contributing.md). -1. Ensure the git submodules are initialized: - ``` - $ git submodule update --init --recursive --depth 1 - ``` -2. `cd` into the library source folder: +## 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 - or $ cd lib/sdl2 - or $ cd lib/soloud/contrib + $ cd lib/sdl_image + $ cd lib/sdl_ttf + $ cd lib/whereami ``` -3. Configure the build, run the build and install: +2. Use CMake to configure the build, run the build and install (run **all** of + these): ``` $ cmake -B build -G Ninja - $ ninja -C build - # ninja -C build install + $ cmake --build build + # cmake --install build ``` +## Tooling + +- TODO + ## Documentation API documentation is done using Doxygen. To generate the docs, run @@ -48,7 +84,3 @@ API documentation is done using Doxygen. To generate the docs, run $ make doxygen ``` -## Code style - -Please read [contributing.md](./contributing.md). - |