readme updates

This commit is contained in:
2024-09-10 04:58:10 -04:00
parent b64ef46876
commit 1afb7289ca
3 changed files with 21 additions and 8 deletions

View File

@@ -10,7 +10,7 @@ See: [docs/Readme.md](docs/Readme.md) for the library's interface.
See [scripts/Readme.md](scripts/Readme.md) for building examples or utilizing the provided backends. See [scripts/Readme.md](scripts/Readme.md) for building examples or utilizing the provided backends.
Currently the scripts provided & the library itself were developed & tested on Windows. The library however should not be limited to that OS platform, just don't have the configuration for alternative platforms (yet). Currently the scripts provided & the library itself were developed & tested on Windows. There are bash scripts for building on linux (they build on WSL but need additional testing).
The library depends on freetype, harfbuzz, & stb_truetype to build. The library depends on freetype, harfbuzz, & stb_truetype to build.
Note: freetype and harfbuzz could technically be gutted if the user removes their definitions, however they have not been made into a conditional compilation option (yet). Note: freetype and harfbuzz could technically be gutted if the user removes their definitions, however they have not been made into a conditional compilation option (yet).

View File

@@ -2,7 +2,7 @@
All scripts provided for utilizing the example demos or backends. All scripts provided for utilizing the example demos or backends.
## General ## Windows
### build_sokol_demo.ps1 ### build_sokol_demo.ps1
@@ -29,7 +29,7 @@ Will wipe the build folder.
### compile_sokol_shaders.ps1 ### compile_sokol_shaders.ps1
Will generate the odin files containing the sokol shader descriptions for the corresponding glsl shaders. Utilized by the sokol backend. Doesn't need to be runned unless modifications are made to the shaders (pre-generated files are commited to this repository). Will generate the odin files containing the sokol shader descriptions for the corresponding glsl shaders. Utilized by the sokol backend. Doesn't need to be run unless modifications are made to the shaders (pre-generated files are commited to this repository).
## Helpers ## Helpers
@@ -45,3 +45,21 @@ A few helper functions to utilize powerhsell & github repos as package managemen
### odin_compiler_defs.ps1 ### odin_compiler_defs.ps1
Just variable declarations based on flags used with the odin compiler's CLI. Just variable declarations based on flags used with the odin compiler's CLI.
# Linux
Essentially equivalent scripts from the PS scripts used on windows were ported to bash. Tested in WSL ubuntu image (so far).
#### Note on dependency packages
Some dependencies are cloned directly into a created thirdparty directory.
[harfbuzz](https://github.com/Ed94/odin_harfbuzz) is configured to pull & build the C++ library, it will use the MSVC toolchain (you can change it to use meson instead of preferred).
[freetype](https://github.com/Ed94/odin-freetype) package does not come with linux binaries.
[sokol](https://github.com/floooh/sokol) built using `build_sokol_library.ps`.
[sokol-tools](https://github.com/floooh/sokol-tools) used by `compile_sokol_shaders.ps1` to compile the glsl files into odin files for the sokol backend.
Caveats:
* The Freetype library's binary must be installed by the user ( Ex: `sudo apt install libfreetype6-dev` )
* Sokol needs gl, x11, and alsa libs. The `build_sokol_library.sh` script has basic implementation listing which libraries those are for ubuntu.

View File

@@ -2,10 +2,8 @@
set -e set -e
# Source the misc.sh script
source "$(dirname "$0")/helpers/misc.sh" source "$(dirname "$0")/helpers/misc.sh"
# Get the root directory of the git repository
path_root=$(git rev-parse --show-toplevel) path_root=$(git rev-parse --show-toplevel)
path_backend="$path_root/backend" path_backend="$path_root/backend"
path_build="$path_root/build" path_build="$path_root/build"
@@ -16,7 +14,6 @@ path_thirdparty="$path_root/thirdparty"
verify_path "$path_build" verify_path "$path_build"
verify_path "$path_thirdparty" verify_path "$path_thirdparty"
# CPU Info
path_system_details="$path_build/system_details.ini" path_system_details="$path_build/system_details.ini"
if [ -f "$path_system_details" ]; then if [ -f "$path_system_details" ]; then
CoreCount_Physical=$(grep "PhysicalCores" "$path_system_details" | cut -d'=' -f2) CoreCount_Physical=$(grep "PhysicalCores" "$path_system_details" | cut -d'=' -f2)
@@ -58,7 +55,6 @@ pushd "$path_thirdparty" > /dev/null
fi fi
popd > /dev/null popd > /dev/null
# Source the odin compiler definitions
source "$(dirname "$0")/helpers/odin_compiler_defs.sh" source "$(dirname "$0")/helpers/odin_compiler_defs.sh"
pkg_collection_backend="backend=$path_backend" pkg_collection_backend="backend=$path_backend"
@@ -69,7 +65,6 @@ pushd "$path_build" > /dev/null
function build_SokolBackendDemo { function build_SokolBackendDemo {
echo 'Building VEFontCache: Sokol Backend Demo' echo 'Building VEFontCache: Sokol Backend Demo'
# Uncomment the following lines if you need to compile shaders
compile_shaders="$path_scripts/compile_sokol_shaders.sh" compile_shaders="$path_scripts/compile_sokol_shaders.sh"
if [ -f "$compile_shaders" ]; then if [ -f "$compile_shaders" ]; then
bash "$compile_shaders" bash "$compile_shaders"