Commit graph

31 commits

Author SHA1 Message Date
Jonathan Marler
8d03636132 build.zig: fix building raylib for emscripten
build.zig doesn't support the examples for the emscripten OS but it does
support the raylib library. However, the examples panic if emscripten
is configured which prevents it from building the library. I've replaced
this panic with a fail step to fix this.
2025-04-26 10:37:11 -06:00
Jonathan Marler
3d792f3363 build.zig: run zig fmt 2025-04-11 09:44:44 -06:00
Lumen Keyes
d0cf8961d3 fix typo 2025-04-01 10:54:51 -06:00
Lumen Keyes
33b2829a89 fix android-libc.txt generation
Previously, the libc paths file `android-libc.txt` was written to
the folder from which the user ran `zig build`. This caused
problems when using raylib as a dependency in other zig
projects, since raylib is not built in the project root, but the
`android-libc.txt` file was still generated in the project root. The file
should now be generated in .zig-cache, which should fix the isssue (and
leave the project root folder cleaner).
2025-04-01 10:43:22 -06:00
Lumen Keyes
d52687eeee Add Android Target to build.zig
Added an Android target to the zig build script.
This allows a user to easily build with only Android-supported
libraries.
Library paths are automatically inferred as much as possible.
2025-03-31 13:36:51 -06:00
Jonathan Marler
508ca5c80f [build] only include rglfw.c for glfw platform
It looks like raylib doesn't require rglfw.c if you're using the RGFW
backend.  I'm guessing the same is true for SDL but I haven't tested.
Excluding this one file brings the raylib library down from 6.9 MB to
6.3 MB for RGFW.

However, one of the examples requires the symbols from rglfw.c,
to accomodate this I added a function that will check whether raylib has
already included rglfw and if not include it for that one example.
2025-03-26 21:14:46 -06:00
Jonathan Marler
ac17de5074 [build] remove examples/build.zig, incorporate into main build.zig
Removes the second build.zig in the examples directory and incorporates it
into the main build.zig. This gives the zig build system the data needed to
know if the raylib library needs to be rebuilt when running any example.
2025-03-25 11:05:59 -06:00
Johannes
75b6b825df
using addCMacro instead of defineCMacro (#4620)
Co-authored-by: Johannes Rønning <johannes@picterus.com>
2024-12-28 15:57:10 +01:00
Per Hallsmark
d0504800d2
install rcamera.h (#4603)
Signed-off-by: Per Hallsmark <per.hallsmark@bitjuggler.se>
2024-12-15 11:16:08 +01:00
HaxSam
a9aa6b4988
[build.zig] improve build system for zig (#4531)
Is now possible to switch platform

Is now possible to diable raudio, rmodels, and so on

Made getOptions public so it can be used for zig wrappers
2024-11-24 16:22:51 +01:00
kimierik
532167d28b
build.zig: fix raygui inclusion in windows crosscompilation (#4489) 2024-11-20 11:26:29 +01:00
kimierik
7053970f7b
build.zig: remove raygui from options and re add adding raygui as a (#4485)
function
2024-11-13 18:52:12 +01:00
Tomas Slusny
ce3b121f07
build.zig: Remove addRaylib and fix raygui builds when using raylib as dep (#4475)
- addRaylib just duplicates what adding raylib as dependency already does
  so it do not needs to exist
- move raygui build to standard build process when flag is enabled. this
  works correctly when using raylib as dependency and having raygui as
  dependency as well. problem with previous approach was that raygui was in
  options but it was doing nothing because you had to also use addRaygui for
  it to be effective

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
2024-11-10 13:47:15 +01:00
Tomas Slusny
53b929cbfb
Improve cross-compilation with zig builds (#4468)
- Add xcode_frameworks when cross compiling for mac (ref:
https://github.com/hexops/mach/blob/main/build.zig)
- Add emsdk when cross compiling for wasm (ref:
https://github.com/floooh/sokol-zig/blob/master/build.zig)

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
2024-11-08 14:31:31 +01:00
Sage Hane
53f7da2506
build.zig: Fix a minor issue with -Dconfig (#4418) 2024-10-22 18:31:26 +02:00
Sage Hane
55249faa58
build.zig: Re-add OpenGL to Linux deps (#4417) 2024-10-22 17:35:08 +02:00
Sage Hane
b89bf0185a
build.zig: Better specify Linux dependencies (#4406) 2024-10-22 13:20:09 +02:00
Sage Hane
110ee74875
build.zig: Merge src/build.zig to build.zig (#4393)
* build.zig: Move `src/build.zig` to `build.zig`

* build.zig: Remove uses of `@src`

* build.zig: Update entry point
2024-10-21 12:57:11 +02:00
Sage Hane
d3f86eb957
build.zig: Improve logic (#4375)
* build.zig: Fix `@src` logic

* build.zig: Clarify build error

* build.zig: Add option for enabling `raygui`

* build.zig: Expose `Options` type
2024-10-10 18:56:43 +02:00
freakmangd
e0f6faa151
[build.zig] Drop support for 0.11.0 and use more idiomatic build script code (#3927)
* Remove support for 0.11.0, and make build script more idiomatic
+ remove all 0.11.0 compatibility functions
+ remove most LazyPath .path variants
  + I didn't touch emscripten, I don't know if its relative or absolute
+ change all absolute paths to use .cwd_relative
+ only use the builder allocator
+ have local dependencies use the package manager
+ make adding raygui more flexible
+ use zig-cache for generated wayland files

* Remove support for 0.11.0 in examples/build.zig

* update examples further and add clarifying comment on addRaygui
2024-04-22 09:13:01 +02:00
freakmangd
ba2a103011
[build.zig] Fix local dependency breakage (#3913)
* fix local dependency breakage

* revert accidental change in include path
2024-04-13 23:34:14 +02:00
Andrew Lee
b7141d556e
Add shared library build option for build.zig and update to zig 0.12.0-dev.2139 (#3727)
* update build.zig to 0.12.0-dev.2139 and add shared lib option

* add no-sanitize workarounds
2024-01-13 10:46:53 +01:00
freakmangd
482722d881
Update to latest zig 0.12.0dev while keeping 0.11.0 compatibility (#3715)
* update build.zig for latest zig 0.12.0dev while still allowing 0.11.0

* update examples/build.zig and add nicer message for type mismatch
2024-01-11 19:48:37 +01:00
Caleb Barger
ba75a7a23b
build.zig updates for 0.11.0 release. (#3501) 2023-11-02 09:14:34 +01:00
Purple4pur
4981acb241
fix zig syntax errors in examples, and make it install executables correctly (#3395) 2023-10-13 19:55:52 +02:00
Ray
0d8a6cfbfa Revert "Update zig build system to zig version 0.11.0 (#3393)"
This reverts commit 540ad99442.
2023-10-10 08:48:55 +02:00
Purple4pur
540ad99442
Update zig build system to zig version 0.11.0 (#3393)
* update build.zig for zig 0.11.0

* fix build.zig in examples to install executable correctly

* discard build.zig, only use src/build.zig, to avoid annoying zig-out path problem

* update zig version note
2023-10-09 13:05:19 +02:00
Gamer-Kold
6b92d71ea1
Reverted commits that deprecated the build.zig files, and added a note to all of them stating version of zig they were using (#3060)
* Revert "Fixed broken build.zig files. Now works with latest stable compiler (as of commit, latest is 0.10.1) (#3045)"

This reverts commit de748dfffe so that zig
build script works with master branch of zig.

* Added a note to build.zig files that denotes what version of zig they have been tested with.

* Standardised the note in the build.zig files
2023-05-15 11:23:36 +02:00
Gamer-Kold
de748dfffe
Fixed broken build.zig files. Now works with latest stable compiler (as of commit, latest is 0.10.1) (#3045)
Co-authored-by: Talha Qamar <qamartalha@proton.me>
2023-05-06 12:04:40 +02:00
star-tek-mb
ed2caa1277
fix for latest zig master (#3037) 2023-05-01 11:02:34 +02:00
star-tek-mb
ff70a04bf5
update zig build to latest master (#2910)
also, adds package manager support
2023-02-05 13:03:03 +01:00