-
Notifications
You must be signed in to change notification settings - Fork 12
Changed dynamixel_sdk_TARGETS to dynamixel_sdk_LIBRARIES in target_link_libraries #44
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
Conversation
…et_link_libraries
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.
Hello @Woojin-Crive, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
Summary of Changes
Hello! Gemini here, providing a summary of this pull request. This PR primarily addresses a build configuration issue within the dynamixel_hardware_interface package. The main change involves updating the CMakeLists.txt file to correctly link against the dynamixel_sdk library, specifically targeting a fix for users who might be using a "legacy" setup of the SDK. This is achieved by switching from using the ${dynamixel_sdk_TARGETS} variable to ${dynamixel_sdk_LIBRARIES} in the target_link_libraries command. Additionally, the PR includes updates to how include directories are specified in CMake for better build and install handling, bumps the package version, and adds an entry to the changelog.
Highlights
- CMake Linking Correction: The core issue addressed is a build failure related to linking the
dynamixel_sdk. The fix involves changingtarget_link_librariesinCMakeLists.txtto use${dynamixel_sdk_LIBRARIES}instead of${dynamixel_sdk_TARGETS}, which is intended to resolve linking problems for legacy users of the SDK. - Improved Include Directory Handling: The
CMakeLists.txtfile was updated to use<BUILD_INTERFACE>and<INSTALL_INTERFACE>specifiers for include directories. This ensures that include paths are correctly handled during both the build process and after the package has been installed. - Version and Changelog Update: The package version in
package.xmlhas been incremented from 1.4.5 to 1.4.6, and a corresponding entry has been added toCHANGELOG.rstto document the linking fix.
Changelog
- CHANGELOG.rst
- Added entry for version 1.4.6, documenting the change from
dynamixel_sdk_TARGETStodynamixel_sdk_LIBRARIES.
- Added entry for version 1.4.6, documenting the change from
- CMakeLists.txt
- Changed
target_link_librariesto use${dynamixel_sdk_LIBRARIES}instead of${dynamixel_sdk_TARGETS}. - Added
<BUILD_INTERFACE>and<INSTALL_INTERFACE>include directory specifiers totarget_include_directories.
- Changed
- package.xml
- Updated package version from 1.4.5 to 1.4.6.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
CMake links libraries,
Targets or libraries, which?
Builds now succeed.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
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.
Code Review
This pull request effectively addresses a build configuration issue for legacy dynamixel_sdk users by correcting the CMake variable used for linking. The changes to CMakeLists.txt also incorporate modern CMake practices for handling include directories, which is a good improvement for the package's usability and maintainability. The version updates in package.xml and CHANGELOG.rst are consistent with the changes. Overall, these are positive improvements to the codebase. I have one specific suggestion regarding the changelog.
Summary of Findings
- Changelog Date: The date for the new version 1.4.6 in
CHANGELOG.rstis set to a future date (2025-05-30). This should be corrected to the actual release date.
Merge Readiness
The pull request introduces valuable fixes and improvements to the build configuration. However, there's a minor issue with the date in the CHANGELOG.rst file that should be addressed. Once the changelog date is corrected, this PR should be in good shape for merging. As a language model, I am not authorized to approve pull requests; please ensure further review and approval from authorized maintainers.
sunghowoo
left a comment
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.
Appreciate the quick fix!
Fixed build configuration for the legacy dynamixel_sdk user.