-
Notifications
You must be signed in to change notification settings - Fork 97
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
Permit building python bindings separately from libsdformat library #1491
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Refer to https://brew.sh instead of duplicating the brew installation command. * List cmake variables in a markdown table. Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Silvio Traversaro <[email protected]>
Use CMAKE_INSTALL_LIBDIR from GNUInstallDirs instead of GZ_LIB_INSTALL_DIR, which won't be available if only building python bindings. Signed-off-by: Steve Peters <[email protected]>
* Document SKIP_PYBIND11 cmake option * Document how to build bindings separately from the main libsdformat library Signed-off-by: Steve Peters <[email protected]>
9 tasks
The sdformat main library already links publicly to gz-utils. Signed-off-by: Steve Peters <[email protected]>
Also remove unneeded enable_testing() call. Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
gazebosim/gz-math#636 has been merged and the homebrew bottle updated, and I have applied the changes in response to its review comments to this branch. This is ready for review |
Base automatically changed from
scpeters/improve_installation_instructions
to
sdf15
October 29, 2024 17:13
…n_bindings_separately
scpeters
added
ign to gz
Renaming Ignition to Gazebo.
🏛️ ionic
Gazebo Ionic
and removed
ign to gz
Renaming Ignition to Gazebo.
labels
Oct 29, 2024
Open
24 tasks
Signed-off-by: Steve Peters <[email protected]>
azeey
approved these changes
Nov 5, 2024
the brew CI issue should be fixed by gazebo-tooling/release-tools#1197 |
https://github.com/Mergifyio backport sdf14 |
✅ Backports have been created
|
mergify bot
pushed a commit
that referenced
this pull request
Nov 6, 2024
…1491) This allows the src/python_pybind11/CMakeLists.txt file to be built as a top-level cmake project against an external sdformat library, with documentation added to the README. The logic for finding pybind11 is also moved from the root CMakeLists.txt to python/CMakeLists.txt to reduce code duplication. When invoked through the root CMakeLists.txt, pybind11 is treated as an optional dependency, but when invoked from the python folder, pybind11 is treated as required by setting the variable CMAKE_REQUIRE_FIND_PACKAGE_pybind11 to TRUE. Signed-off-by: Steve Peters <[email protected]> Signed-off-by: Silvio Traversaro <[email protected]> Co-authored-by: Silvio Traversaro <[email protected]> (cherry picked from commit 3dcdd55) # Conflicts: # python/CMakeLists.txt
9 tasks
scpeters
pushed a commit
that referenced
this pull request
Nov 7, 2024
…1497) Backport of #1491 with adapted package finding logic and a note about requiring cmake 3.22.1. This allows the src/python_pybind11/CMakeLists.txt file to be built as a top-level cmake project against an external sdformat library, with documentation added to the README. The logic for finding pybind11 is also moved from the root CMakeLists.txt to python/CMakeLists.txt to reduce code duplication. When invoked through the root CMakeLists.txt, pybind11 is treated as an optional dependency, but when invoked from the python folder, pybind11 is treated as required by setting the variable CMAKE_REQUIRE_FIND_PACKAGE_pybind11 to TRUE. Signed-off-by: Steve Peters <[email protected]> Signed-off-by: Silvio Traversaro <[email protected]> Co-authored-by: Silvio Traversaro <[email protected]> (cherry picked from commit 3dcdd55)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🎉 New feature
Part of osrf/homebrew-simulation#2834, related to gazebosim/gz-math#636
Summary
This allows the
python/CMakeLists.txt
file to be built as a top-level cmake project against an external libsdformat library. The first commit (1985c90) is a patch from @traversaro used in conda, and the second commit (4644d3b) replaces theGZ_LIB_INSTALL_DIR
cmake variable withCMAKE_INSTALL_LIBDIR
(see GzPackaging.cmake:111) sinceGZ_LIB_INSTALL_DIR
is not defined with the minimal cmake project added in 1985c90.Test it
CMakeLists.txt
with using-DSKIP_PYBIND11=ON
to build and install the libsdformat library without python bindings.python/CMakeLists.txt
with-DPython_EXECUTABLE=/path/to/python
to build and install python bindings for a given python versionI have a draft of an updated homebrew formula using this branch in osrf/homebrew-simulation#2836
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.