-
Notifications
You must be signed in to change notification settings - Fork 20
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
Use clap::helpers::Host #176
Conversation
9e1ddad
to
77eeeaf
Compare
77eeeaf
to
17aaa5b
Compare
e477e4d
to
8d70785
Compare
CPMAddPackage( | ||
NAME "clap-helpers" | ||
GITHUB_REPOSITORY "free-audio/clap-helpers" | ||
GIT_TAG "7b53a685e11465154b4ccba3065224dbcbf8a893" |
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.
is this a problem, @baconpaul ?
Actually I'd like to use a version tag / branch here (instead of commit hash) but we do not have that for clap-helpers yet
I am not sure if we should include this. The clap-wrapper solves specific problems by "providing the truth" to remove the impedance mismatch between the different plugin standards, like threading models. So checking for those is kind of unnecessary. Also, it adds another dependency which is something I wanted to avoid: only the SDKs that the wrapper is being built for should be the only ones needed. I am more in favor to follow the path for the injector plugin to check CLAP conformity between wrapper and target plugin. |
If we would set CheckingLevel to None, those would be gone basically gone. What would remain then? Just the basic C++ wrapper class around clap_host + all clap_host_s. I think it still would be beneficial even without any checks as the clap-helpers would be the place where new extensions will be added in the future. Then overriding the methods in clap-wrapper will be very fast to do + we can reuse this kind of C-to-C++ wrapping work instead of redoing it for every project again. Also I think it's good to have the clap-wrapper as a kind of standard/example user of clap-helpers who brings in certain requirements/goals for clap-helpers to the table (being zero-overhead at minimum checking level, easy to include, etc.).
Yeah the dependency part is the one I'm also most sceptical about myself. At least @baconpaul has done a great job of leveling-up the clap-helpers CMakeLists.txt so it should now be much more straightforward to have the helpers always in sync with the desired clap-version. (the only missing piece of the puzzle there is the version tag/branch on clap-helpers which already wrote about above)
As already written, I'd be OK with setting CheckingLevel to None. The question is whether the benefits are enough to convince you to add another dependency. Feel free to do whatever you think is the best of course. In the end it's just a proposal. |
Now I set the |
@defiantnerd please have look into #177 -> there I now condensed the full idea of using |
This is how I think clap::helpers::Host would be used for
clap-wrapper
If considering merging, please make sure that before
clap-helpers
)clap-helpers
using the same pattern asguarantee_clap
inbase_sdks.cmake