CMake init#543
Conversation
|
Thanks for the PR, but I'd like to keep any build system files out of the sokol repository. The comment was aimed specifically at the beef bindings, because beef doesn't seem to come with a way to build C libraries without external tooling support. |
|
Okay but how about for integration with package managers like There are plenty of complexities to consider, and I'm trying to derive a simplification for use by package managers. So on starting a new project:
Now the question is how can this workflow be simplified? Ideas for sokol:
Being able to choose which backend is important, e.g., imgui or nuklear. What are your thoughts? |
|
Support for specific build systems and package managers should be handled outside the main repository in separate repositories similar to the langauge bindings (e.g. https://github.com/floooh/sokol-zig). Those separate repositories can either contain snapshots of the sokol headers (like here: https://github.com/floooh/sokol-zig/tree/master/src/sokol/c), or if it makes more sense, can include the sokol repository as a git submodule (whatever makes more sense for the specific build system or package manager). I've done similar "out-of-source" build system repositories here for various projects and fips+cmake:
...etc... that way I didn't have to pitch fips to the library maintainers for inclusion in the main repository for instance. |
|
fips looks pretty cool (I hadn't heard of this project of yours). Will give it a shot. Perhaps it solves the missing 'quick-start' for sokol… |
Related #496 (comment)
Not sure how you want to handle this? - Maybe configurable packages where you can use
-Dto select a different backend for your target?(assuming you even want CMake integration)