From 8b0e2226e494146f91fad9596ed77fc281277c82 Mon Sep 17 00:00:00 2001 From: jaby Date: Tue, 7 Jan 2025 22:40:48 +0100 Subject: [PATCH] Update readme for podman changes --- readme.md | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/readme.md b/readme.md index 70278081..9447f980 100644 --- a/readme.md +++ b/readme.md @@ -1,9 +1,9 @@ - [JabyEngine](#jabyengine) - [About](#about) - - [Podman](#podman) - [How to build](#how-to-build) - - [Building `JabyEngine` (without VSCode)](#building-jabyengine-without-vscode) - - [Building support library (without VSCode)](#building-support-library-without-vscode) + - [Building `Tools` (without VS Code)](#building-tools-without-vs-code) + - [Building `JabyEngine` (without VS Code)](#building-jabyengine-without-vs-code) + - [Building support library (without VS Code)](#building-support-library-without-vs-code) - [`FontWriter` (without VSCode)](#fontwriter-without-vscode) - [Building `PoolBox` (without VSCode)](#building-poolbox-without-vscode) - [Media creators](#media-creators) @@ -16,34 +16,37 @@ ## About JabyEngine is my personal attempt to eventually make my own PS1 game from "ground up". Originally I didn't indented to release this code publicly but recently I decided to give it a try. If you read this, thank you! -## Podman -* `sudo apt install podman` -* `podman build -t jaby_engine ` -* `podman images`: lists all images -* `podman image rm `: removes an image -* `podman run -it /bin/bash`: runs bash and interactive -* `podman run --rm <-v : <-e ENV_VAR=VALUE> jaby_engine`: clean up after run -* `podman image tree `: lists usefull information -* `podman run --rm -it -v ${JABY_ENGINE_PATH}:${JABY_ENGINE_PATH} jaby_engine /bin/bash` maybe a good idea...? -* `${JABY_ENGINE_PATH}/scripts/podman_jaby_engine.sh make all BUILD_PROFILE=release PSX_TV_FORMAT=PAL CUSTOM_CONFIG=` - ## How to build -JabyEngine relies on linux to be build. For Windows users it uses `wsl` instead but support for it might get dropped during further development. +JabyEngine can be build with a docker image using `podman`. Simply run the `install.sh` script from the `podman` folder and you should be good to go. + +`podman_jaby_engine.sh` allows you to easily run the docker image for builds: +`podman_jaby_engine.sh : <...>` The following environment variables should be set: -* `JABY_ENGINE_PATH`: The path to the root folder of this repo +* `JABY_ENGINE_PATH`: The path to the root folder of this repo. If you used the `install.sh` script and the environment variable was not set, the script will have set it to the folder. Restarting the shell or VS Code might be required. * `PSX_LICENSE_PATH`: The path to a folder containing the PS1 licenses for generating a CD. Additionally you can also specify the following optional environment variables: -* `JABY_ENGINE_NO_DOCKER`: Turns off usage of `podman` for build. This is only recommended for specific development. +* `JABY_ENGINE_NO_DOCKER`: Turns off the usage of `podman` for builds. This is only recommended for specific development. -### Building `JabyEngine` (without VSCode) +VS Code has build targets set for all the projects which should be build in this order: +* `src/Tools/Tools.code-workspace`: Build all tools +* `src/Library/Library.code-workspace`: Build JabyEngine for the configurations you need +* `support/src/SupportLibrary.code-workspace` (optional): Build for using support code +* `examples/PoolBox/PoolBox.code-workspace`(optional): Build for an example "game" + +### Building `Tools` (without VS Code) +`make` requires the following values to be passed: +* `CARGO_CMD`: `build` +* `BUILD_PROFILE`: `debug`/`release` + +### Building `JabyEngine` (without VS Code) `make` requires the following values to be passed: * `BUILD_PROFILE`: `debug`/`release` * `PSX_TV_FORMAT`: `PAL`/`NTSC` * `CUSTOM_CONFIG`: Empty or folder name under `./config` -### Building support library (without VSCode) +### Building support library (without VS Code) These projects shall eventually turn into useful extensions for the engine. So far they are more tests then proper code. However `PoolBox` is depended on `FontWriter`. #### `FontWriter` (without VSCode) @@ -89,5 +92,4 @@ These projects shall eventually turn into useful extensions for the engine. So f # TODO before commit * Remove `wslpath` -* Verify template creation -* Double check documentation \ No newline at end of file +* Verify template creation \ No newline at end of file