-
Notifications
You must be signed in to change notification settings - Fork 60
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
Add static constexpr char* names and hand out views for them #402
Conversation
This will break DD4hep for example. |
@faustus123 @nathanwbrei @wdconinc this still needs a bit of work, but potentially as a heads up that this might break things on your end. Would you prefer to have deprecation warnings (as implemented in #404) to flush out uses without breaking things first? Otherwise we might just go ahead and check and fix the packages that we build regularly and introduce everything with a bunch of "synchronized" PRs. |
I'll give it a shot with #404 and see how much we should change beyond our |
Thanks for the heads-up, @tmadlener! It looks like this affects us pretty minimally. |
…618) This adds the required `auto`s to support both current and future `podio::getTypeName` signatures. Ref: AIDASoft/podio#402, AIDASoft/podio#404
5d53434
to
d879ffd
Compare
@nathanwbrei @wdconinc would you like to have proper deprecation warnigs and then a switch afterwards, or could we switch directly as done in this PR? |
adding @faustus123 (reported #313 ) |
After eic/EICrecon#618 we shouldn't be affected by this change. |
d879ffd
to
802a260
Compare
802a260
to
75de8f2
Compare
CI currently fails on anything that tries to load an SIO block library in the environment that has not yet gone through this switch (i.e. EDM4hep from the underlying environment). Apart from a proper plugin mechanism (see #403), I am not sure we can easily do anything against this. |
75de8f2
to
9d108d3
Compare
With the latest changes to the cmake config, |
key4hep based workflows are failing because they can't find a new enough Catch2. We could change Lines 130 to 132 in fda9213
so that USE_EXTERNAL_CATCH2 behaves more like use one if you can find a suitable one, and fall back to building your own if you can't instead of simply failing at cmake stage if the discovered one is not suitable.
|
I'd prefer that the switch does not imply any surprises of automatic building. That can "nicely" hide misconfigs |
except that now we seem to run into: key4hep/key4hep-spack#493 |
much better! |
BEGINRELEASENOTES
static constexpr char*
type names to the collections and make thegetXXXName()
methods returnstring_view
s to these strings. This is a breaking change to the interface of the collections if you explicitly rely on them beingstd::string
typeName
: the full type name of the collection (returned also bygetTypeName
)valueTypeName
: the (immutable) type name of the objects of the collection (returned bygetValueTypeName
)dataTypeName
: the type name of the data PODs (returned bygetDataTypeName
)PODIO_SIOBLOCK_PATH
USE_EXTERNAL_CATCH2
now can also be set toAUTO
to look for a suitable version of Catch2 before falling back and fetching and building it's own version instead of a hard fail.ENDRELEASENOTES
Addresses some of the things raised in #313 and is also in preparation for other work of making run-time type information available without too many
std::string
copies