-
Notifications
You must be signed in to change notification settings - Fork 30
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
Tick-tock Export Headers #249
Conversation
62e26f8
to
5f72b77
Compare
Should I just make every |
815e592
to
d0c212a
Compare
I decided to do that. 20748d4 Note that this means every |
f0a0d22
to
20748d4
Compare
#ifndef IGN_DEPRECATED | ||
// TODO(CH3): Remove on ticktock | ||
// NOTE(CH3): This has no docstring since we'll make GZ_DEPRECATED the default | ||
#define IGN_DEPRECATED(version) GZ_DEPRECATED_ALL_VERSIONS |
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.
do we want to define IGNITION_
versions of _VISIBLE
and _HIDDEN
as well?
if so, we should create an ign_export_base
variable to use when configuring this file
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.
They're defined in here already, using the _ign_export_base
variable! 👀
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.
Created and populated here: https://github.com/ignitionrobotics/ign-cmake/pull/249/files#diff-955d1f97e2360702839ba9277cc71b9797e65d417d5cb88f383fec0e53ad5124R1447 right above the configure call
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.
thanks; I could have done a better job reading the pull request changes before making comments like that. I was a little confused on first glance to see all the Doxygen for the redirection macros; I think we could remove them. See my suggested changes in ee17946
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.
Changes incorporated!
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
64bad56
to
fb53df0
Compare
Signed-off-by: methylDragon <[email protected]>
This is related to: gazebo-tooling/release-tools#711
Description
ign-cmake
dynamically configures anExport.hh
file in the public headers of a package. ThisExport.hh
file actually wraps and comments on a lower level dynamically generateddetail/Export.hh
file that is generated using GenerateExportHeader.The fact we're using an external CMake library to generate the
detail/Export.hh
makes it hard to ticktock the lower-level CMake macros.So instead, this PR definesIGNITION_
prefixed export headers in the configuredExport.hh
if a target is prefixed withgz
that allow downstream users to use theIGNITION_
prefixed versions of the export macros, while leaving those indetail/Export.hh
alone (except forIGN_DEPRECATED_ALL_VERSIONS
, which doesn't seem to be used anywhere (at least in the core libraries.)If the library target isignition
prefixed, then no extra macros generate.This PR replaces all
IGNITION_/IGN_
prefixed macros withGZ_
prefixed versions inExport.hh
anddetail/Export.hh
. And provisionsIGNITION_
prefixed and theIGN_DEPRECATED
macros in the publicExport.hh
alongside theGZ_
ones, so you can use both!This means that
detail/Export.hh
defined macros aren't tick-tocked though! But since they're ostensibly private, it shouldn't be an issue.Notes
This does nothing new at the moment, but once we start using GZ prefixed macro names, everything will be 🌞 🌈 because of this.