Update readme, build scripts
Add incremental build check for stb truetype lib
This commit is contained in:
parent
07cd28226f
commit
0f5f9c18b1
4
.gitignore
vendored
4
.gitignore
vendored
@ -9,5 +9,5 @@ Sectr.sublime-project
|
||||
Sectr.sublime-workspace
|
||||
ols.json
|
||||
.vscode/settings.json
|
||||
# thirdparty
|
||||
# toolchain
|
||||
thirdparty
|
||||
toolchain
|
||||
|
16
Readme.md
16
Readme.md
@ -22,16 +22,19 @@ The dependencies are:
|
||||
* Remove implicit assignments for container allocators in the Base and Core packages
|
||||
* I did not enjoy bug hunting a memory corruption because I mistakenly didn't properly initialize a core container with their designated initiatizer: new, make, or init.
|
||||
* See fork Readme for which procedures were changed..
|
||||
* Odin repo's base, core, and vendor(raylib) libaries
|
||||
* An ini parser
|
||||
* Odin repo's base, core, and some of vendor
|
||||
* [VEFontCache-Odin](https://github.com/Ed94/VEFontCache-Odin): Text rendering & shaping library created for this prototype
|
||||
* [stb_truetype-odin](https://github.com/Ed94/stb_truetype-odin): Variant of the stb/truetype package in odin's vendor collection made for VEFontCache-Odin
|
||||
* [harfbuzz-odin](https://github.com/Ed94/harfbuzz-odin): Custom repo with tailor made bindings for VEFontCache-Odin
|
||||
* [sokol-odin (Sectr Fork)](https://github.com/Ed94/sokol-odin)
|
||||
* [sokol-tools](https://github.com/floooh/sokol-tools)
|
||||
* Powershell (if you want to use my build scripts)
|
||||
* backtrace (not used yet)
|
||||
* freetype (not used yet)
|
||||
* harfbuzz
|
||||
* sokol
|
||||
* sokol-tools
|
||||
* Powershell (if you want to use my build scripts)
|
||||
* Eventually some config parser (maybe I'll use metadesk, or [ini](https://github.com/laytan/odin-ini-parser))
|
||||
|
||||
The project is so far in a "codebase boostrapping" phase. Most the work being done right now is setting up high performance linear zoom rendering for text and UI.
|
||||
Text has recently hit sufficient peformance targets, and now inital UX has become the focus.
|
||||
|
||||
The project's is organized into 2 runtime modules sectr_host & sectr.
|
||||
The host module loads the main module & its memory. Hot-reloading it's dll when it detects a change.
|
||||
@ -43,7 +46,6 @@ Codebase organization:
|
||||
* Has the following definitions: startup, shutdown, reload, tick, clean_frame (which host hooks up to when managing the client dll)
|
||||
* Will handle async ops.
|
||||
* Font Provider: Manages fonts.
|
||||
* Bulk of visualization must be able to render text effectively
|
||||
* Bulk of implementation maintained as a separate library: [VEFontCache-Odin](https://github.com/Ed94/VEFontCache-Odin)
|
||||
* Grime: Name speaks for itself, stuff not directly related to the target features to iterate upon for the prototype.
|
||||
* Defining dependency aliases or procedure overload tables, rolling own allocator, data structures, etc.
|
||||
|
@ -141,22 +141,25 @@ push-location $path_root
|
||||
|
||||
$path_font = join-path $path_code 'font'
|
||||
|
||||
$module_scripts = $PSScriptRoot
|
||||
$package_grime = join-path $path_code 'grime'
|
||||
$package_VEFontCache = join-path $path_font 'VEFontCache'
|
||||
$module_host = join-path $path_code 'host'
|
||||
$module_sectr = join-path $path_code 'sectr'
|
||||
$module_scripts = $PSScriptRoot
|
||||
$package_grime = join-path $path_code 'grime'
|
||||
$package_VEFontCache = join-path $path_font 'VEFontCache'
|
||||
$package_stb_truetype = join-path $path_thirdparty 'stb'
|
||||
$module_host = join-path $path_code 'host'
|
||||
$module_sectr = join-path $path_code 'sectr'
|
||||
if ($force){
|
||||
mark-ModuleDirty $module_scripts
|
||||
mark-ModuleDirty $package_VEFontCache
|
||||
mark-ModuleDirty $package_stb_truetype
|
||||
mark-ModuleDirty $package_grime
|
||||
mark-ModuleDirty $module_sectr
|
||||
mark-ModuleDirty $module_host
|
||||
}
|
||||
|
||||
$module_scripts_dirty = check-ModuleForChanges $module_scripts
|
||||
$pkg_VEFontCache_dirty = check-ModuleForChanges $package_VEFontCache
|
||||
$pkg_grime_dirty = check-ModuleForChanges $package_grime
|
||||
$module_scripts_dirty = check-ModuleForChanges $module_scripts
|
||||
$pkg_VEFontCache_dirty = check-ModuleForChanges $package_VEFontCache
|
||||
$pkg_stb_truetype_dirty = check-ModuleForChanges $package_stb_truetype
|
||||
$pkg_grime_dirty = check-ModuleForChanges $package_grime
|
||||
|
||||
$pkg_collection_codebase = 'codebase=' + $path_code
|
||||
$pkg_collection_thirdparty = 'thirdparty=' + $path_thirdparty
|
||||
@ -174,7 +177,7 @@ push-location $path_root
|
||||
|
||||
function build-sectr
|
||||
{
|
||||
$should_build = (check-ModuleForChanges $module_sectr) -or $pkg_grime_dirty -or $pkg_VEFontCache_dirty -or $module_scripts_dirty
|
||||
$should_build = (check-ModuleForChanges $module_sectr) -or $pkg_grime_dirty -or $pkg_VEFontCache_dirty -or $pkg_stb_truetype_dirty -or $module_scripts_dirty
|
||||
if ( -not( $should_build)) {
|
||||
write-host 'Skipping sectr build, module up to date'
|
||||
return $module_unchanged
|
||||
|
@ -77,8 +77,13 @@ $path_devshell = join-path $path_helpers 'devshell.ps1'
|
||||
$path_stb = join-path $path_thirdparty 'stb'
|
||||
$path_stb_src = join-path $path_stb 'src'
|
||||
|
||||
push-location $path_stb_src
|
||||
$pkg_stb_truetype_dirty = check-ModuleForChanges $path_stb
|
||||
|
||||
& '.\build.bat'
|
||||
if ( $pkg_stb_truetype_dirty)
|
||||
{
|
||||
push-location $path_stb_src
|
||||
|
||||
pop-location
|
||||
& '.\build.bat'
|
||||
|
||||
pop-location
|
||||
}
|
||||
|
BIN
thirdparty/stb/lib/stb_truetype.lib
vendored
BIN
thirdparty/stb/lib/stb_truetype.lib
vendored
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user