-
Notifications
You must be signed in to change notification settings - Fork 98
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 ign-cmake. #181
Comments
This would be a very big change
|
This has been brought up several times and could happen regardless of whether we use
The transition should also be seamless for both users and tools, because GitHub is pretty good about redirecting. |
The first point has been addressed. Not sure if the other 3 would be easy changes in |
I imagine that we could add a |
I've opened gazebosim/gz-cmake#190 to add options to I expect some more work may be needed, but it's not as difficult as I thought it would be |
here's a list of changes needed in ign-cmake to support libsdformat:
The following may not be needed:
|
I think we could work around the issues about the master header file and config header file without changes to
I think we could then have trivial header files manually included in sdformat's cmake code:
@koonpeng what do you think? |
That's not a bad idea. I think that we should try that to see if it works. If not, then we can see how to change |
Nothing to argue about the first two points. About the following points maybe is not a bad idea to follow what Steve is proposing and push sdformat into a migration that approach it to have more "standard" naming and file names. Sounds to me like we should not try to push ignition-cmake to fit into sdformat but working more in the opposite.
Since the visible macro keyword can be decided by the project, not 100% sure that is a good idea but we could just reuse the
Are the changes in
+1 to Steve proposal for migrating/supporting both without changing ign-cmake.
May I have an example of this?
+1 to Steve proposal for migrating/supporting both without changing ign-cmake. |
I like a "redirection" header approach as well, should we also deprecate
Actually this also affects the data dir, so we should probably add an option for that too, or see if we can generalized it to something like |
I've just been trying to identify what is needed to enable an already released version of libsdformat to use ign_configure_project and still pass the API/ABI checker. If we change the export macros, it shouldn't matter to downstream code, but I think the checker would complain. Although, now that I think about it, we could use the same trick I mentioned for |
If you don't make We'd also have to update the debian metadata, but that is easily done If we only want to make this change on |
in in |
I just added a find module for urdfdom to the list of things needed in ign-cmake |
I feel there probably are some projects out there using There's also chances that it would break other components of the toolchain, for example, a project might have their static analysis tool configured to ignore warnings from a specific directory, or they might have configured their ide to look at specific directory to provide intellisense etc. |
From what I understand, the visibility macro is considered an implementation detail, downstream package's should not be using sdformat's visibility macros. So we should be able to change all the macros to use the new names without breaking api/abi. Unless maybe if sdformat supports some plugin interfaces, which expects external plugins to use those visibility macros. |
Not sure about this one too: the visibility keywords are
Not a bad idea if we need it. |
This last option was the one I was thinking on, making changes in main. To support transition, I would prefer not to add options to ign-cmake if we can handle it in the software being migrated since I consider this (migrating a released software keeping API/ABI compatibility) as non usual way of using ign-cmake. I could be wrong. We can discuss this with the rest of the team. If we decided to go with changes in sdformat released versions, the trick of having duplicate |
+1 let's keep old files in place, although they could be changed in released versions to just include new headers. |
Fixes gazebosim#181. Signed-off-by: Steve Peters <[email protected]>
Fixes gazebosim#181. Signed-off-by: Steve Peters <[email protected]>
Fixes #181. Signed-off-by: Steve Peters <[email protected]>
I've opened a draft pull request targeting |
I've made a pull request targeting |
This replaces most of the custom cmake code in libsdformat with the functionality provided by ignition-cmake2. The root CMakeLists.txt is much shorter now and most of the cmake folder has been deleted. This is made possible by the NO_IGNITION_PREFIX and REPLACE_IGNITION_INCLUDE_PATH parameters added to ign_configure_project in ign-cmake#190 and ign-cmake#191. Closes #181. Other details: * Use FindIgnURDFDOM from ign-cmake#193 * Use HIDE_SYMBOLS_BY_DEFAULT from ign-cmake#196 * Set LEGACY_PROJECT_PREFIX from ign-cmake#199 Signed-off-by: Steve Peters <[email protected]>
Closed by #780. |
This issue has been mentioned on Gazebo Community. There might be relevant details there: https://community.gazebosim.org/t/new-ignition-releases-2022-01-10/1228/1 |
Original report (archived issue) by Nate Koenig (Bitbucket: Nathan Koenig).
Switch this project to use ign-cmake. This will likely require moving osrf/sdf to ignition/sdf
The text was updated successfully, but these errors were encountered: