-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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] Add feature bindings and remove feature example #10253
[imgui] Add feature bindings and remove feature example #10253
Conversation
I found this issue while trying to resolve imgui install issue. The header files and source files from imgui examples are used for bindings to call into imgui. And they sometimes change with imgui versions. Alongside $ ls -1 examples/imgui_impl_opengl3.* examples/imgui_impl_glfw.*
examples/imgui_impl_glfw.cpp
examples/imgui_impl_glfw.h
examples/imgui_impl_opengl3.cpp
examples/imgui_impl_opengl3.h There is no build or binary required from these, so it should be safe to always include in result.
I used EDIT example from conan version
so a more appropriate GLOB might be
|
Note: for thesebindings to work, it also relies on
which relies on other include files too, like |
I have an example branch off master that works for demonstrating a "bindings" feature Under a new feature
https://github.com/idcrook/vcpkg/tree/imgui-trials i was able to test in a build where these bindings from a vcpkg install are used. |
@idcrook Already follow your suggestion, but I prefer to install it's code files to include/bindings. |
looks good to me |
After looking over again, the build dependencies should be empty for “bindings” feature in the control file, as those are wrappers into imgui, and those files are part of imgui distribution. If there is an “examples” feature still included, that would be where those build dependencies would probably go… |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
/azp run |
Just dropping in a suggestion here (basically same thing that idcrook said): My suggestion, to make this feature usable, is to provide CMake variable for source root of the bindings folder so that user could choose a bindings to build with and add it to include directories. Or something similar. |
@lerppana All files in buildtrees are temporary, we can only install the bindings source files in installed and then use them. |
Yeah sorry for my messed up explanation. What I mean is as a port user to use binding source files from vcpkg installed folder in my projects build (better explained what I mean? 😄). So whatever this feature is, without build-depends (see what idcrooks comment) |
This looks good to me :) |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Since the binary generated by examples is rarely used, remove feature
examples
and add featurebindings
.Related: #10252 #8788.
Note: because the current feature tools still have generation problems, this PR only performs a simple separation feature.
All features passed in the following triplets test: