-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Imgui bindings feature design #12250
Comments
I do not think a long list of features would be an issue - look at the aws-sdk-cpp or magnum ports. It would just be if one wants to put the time and effort into breaking them into separate features, separating the dependencies for each feature and then maintaining it with fixes for each platform/OS combination or after there is a release of each new feature and/or feature dependencies. If this is something you or someone else is considering a pull request (PR) could be done and submitted for approval/implementation. |
I'm waiting for the discussion result of ocornut/imgui#1713. |
Nice, it would be very helpful if Imgui provided a CMake build system by default, I hope they'll be able to add it soon. In the meantime, here's my proposal to improve the bindings support for this port : #12329 |
* [imgui] Split bindings to multiple features See #12250. I tested all the features on x86-windows, x64-windows, x64-windows-static and x64-linux triplets. Everything build fine except: - dx12-binding on x86-windows. There's an issue opened about it here : ocornut/imgui#2406 - allegro5-binding on x64-linux, because the current allegro5 port fails to build on this platform. Contrary to the previous port which simply copied the sources to a specific folder, bindings are now compiled with their dependencies. The only exception is Marmelade, because there's no port available for it yet. Unfortunately, I can't test the OSX and metal bindings. If someone using this platform could test it, it would be very much appreciated. :) * [imgui] Move port files to the correct folder * Update ports/imgui/CONTROL Co-authored-by: Rémy Tassoux <rt2@rasterizedworld.com> Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Close this PR until upstream fixes this. |
Continue the discussion started in #11919.
These bindings are very well maintained, feature complete and the author recommend to use them by default except if a custom implementation is really needed : https://github.com/ocornut/imgui#integration
I think it's a good thing they are available as features for this port. What I dislike is the inability to pick only the required ones, it's all or nothing. Because of this, you are forced to acquire a lot of dependencies you will probably never need. It's also ugly because it isn't compiled to libs but rely instead on the manual inclusion of cpp files in your project, because some of them depends on platform specific APIs that can't be compiled everywhere.
Splitting these bindings to different features would solve these problems. The only drawback is that we would have a very long list of features :
I don't know if it's acceptable for vcpkg ports to have such a long feature list, but if it is, it would be a better solution than the current one, and I'd be happy to implement it.
The text was updated successfully, but these errors were encountered: