Update readme for podman changes

This commit is contained in:
jaby 2025-01-07 22:40:48 +01:00
parent 5dec7a3c51
commit 8b0e2226e4
1 changed files with 23 additions and 21 deletions

View File

@ -1,9 +1,9 @@
- [JabyEngine](#jabyengine) - [JabyEngine](#jabyengine)
- [About](#about) - [About](#about)
- [Podman](#podman)
- [How to build](#how-to-build) - [How to build](#how-to-build)
- [Building `JabyEngine` (without VSCode)](#building-jabyengine-without-vscode) - [Building `Tools` (without VS Code)](#building-tools-without-vs-code)
- [Building support library (without VSCode)](#building-support-library-without-vscode) - [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) - [`FontWriter` (without VSCode)](#fontwriter-without-vscode)
- [Building `PoolBox` (without VSCode)](#building-poolbox-without-vscode) - [Building `PoolBox` (without VSCode)](#building-poolbox-without-vscode)
- [Media creators](#media-creators) - [Media creators](#media-creators)
@ -16,34 +16,37 @@
## About ## 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! 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 <Folder of Dockerfile>`
* `podman images`: lists all images
* `podman image rm <COMMIT ID>`: removes an image
* `podman run -it <COMMIT ID> /bin/bash`: runs bash and interactive
* `podman run --rm <-v <local_folder>:<absolute docker_folder> <-e ENV_VAR=VALUE> jaby_engine`: clean up after run
* `podman image tree <TAG/ID>`: 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 ## 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 <project mounting folder>:<working directory relative to project mounting folder> <Command to run> <Arg1> <Args2> <...>`
The following environment variables should be set: 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. * `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: 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: `make` requires the following values to be passed:
* `BUILD_PROFILE`: `debug`/`release` * `BUILD_PROFILE`: `debug`/`release`
* `PSX_TV_FORMAT`: `PAL`/`NTSC` * `PSX_TV_FORMAT`: `PAL`/`NTSC`
* `CUSTOM_CONFIG`: Empty or folder name under `./config` * `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`. 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) #### `FontWriter` (without VSCode)
@ -89,5 +92,4 @@ These projects shall eventually turn into useful extensions for the engine. So f
# TODO before commit # TODO before commit
* Remove `wslpath` * Remove `wslpath`
* Verify template creation * Verify template creation
* Double check documentation