aboutsummaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md72
1 files changed, 52 insertions, 20 deletions
diff --git a/readme.md b/readme.md
index 24bb66f..373c682 100644
--- a/readme.md
+++ b/readme.md
@@ -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).
-