[zig] Add run examples using zig and emscripten for web #5013
+166
−64
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is to allow:
zig build -Dtarget=wasm32-emscripten textures_sprite_anim
Changes:
target.result.os.tag == .emscripten
Steps are create as:exe_lib
- newraylib
- reusedemcc_command
- newrun_step
- new create by methodemscriptenRunStep
const module_resources = b.pathJoin(&.{ module_subpath, "resources@resources" });
to be able to map resources folder for the examples.run_step.addArg("--no_browser");
to run without running a browser so the user can point to the example manually.rlgl_standalone
andraylib_opengl_interop
examples for now.Result:

Now you can compile examples like:
zig build -Dtarget=wasm32-emscripten examples
- it compiles all examples (exceptrlgl_standalone
andraylib_opengl_interop
for now)zig build -Dtarget=wasm32-emscripten core
- it compiles all examples for the especified module.zig build -Dtarget=wasm32-emscripten textures_sprite_anim
- it compiles a expecific example and serves it at default port6931
.This PR has no impact on any binding as there is no change in method
compileRaylib
.