Immediate-Mode-UI / Immediate-Mode-UI/Nuklear
Compiling Examples with different Backends
- Dominant language
- C
- Stars
- 11.4k
- Forks
- 686
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 3
Description
Hi. I am very new here.
And very interested on this low-resources gui concept.
While trying the demos, I made a unified Makefile that I am attaching here to be executed from Nuklear/demo directory. [Makefile.zip](https://github.com/Immediate-Mode-UI/Nuklear/files/10717785/Makefile.zip)
However, I couldn't figure out how to compile the examples with different backends.
The example folder contains another backend stb_image.h not present on the demo folder. And those c-files contains calls to a stbi_load function which is not present in other backends like the GDI ones.
Is it possible to try the same 'complex' examples with multiple backends?
It would be an interesting approach to compile a project with different backends without modifying the sources, probably through DEFINE passed to the compiler.
Is that possible or planned?
Other thing that called my attention was about the "Small codebase (~18kLOC)" and "(you can compile and use only what you need)". A very basic non-nuklear gdi example is ~100kb while the most basic example of nuklear is ~500kb. A heavier example, as those in the example folder, are about ~700kb.
Not complaining at all!
But I wonder if there is one step missing to "compile and use only what you need" or I should know that this is the bare minimum and the maximum is still unknown.
[gdi_basic.zip](https://github.com/Immediate-Mode-UI/Nuklear/files/10717872/gdi_basic.zip)
[nk_gdi.zip](https://github.com/Immediate-Mode-UI/Nuklear/files/10717875/nk_gdi.zip)
Many thanks in advance !
Contributor guide
Research direction
Start in the Nuklear/demo directory with the attached Makefile.zip and compare the example sources that use stbi_load with the GDI backends. Trace how each backend is selected and whether compiler defines can support the same examples without source changes; done means a documented or working build path for the requested backend combinations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100