Skip to content
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

Feature/cmake targets #1

Open
wants to merge 65 commits into
base: master
Choose a base branch
from

Conversation

pascalau
Copy link

This PR allows kindr to be built completely independently by catkin including its tests. This also allows it to be built in a colcon workspace. It exports the header library as the target kindr::kindr in a modern cmake fashion.
Example usage for downstream consumers:

find_package(kindr REQUIRED)
add_library(consumer_lib ...)
target_link_libraries(consumer_lib kindr::kindr)

Tedious working with variables ${kindr_*} and worrying about include directories becomes obsolete.
If downstream targets also export dependencies correctly this simplifies dependency management.

Usage with different build systems:

# pure cmake
mkdir build && cd build
cmake .. -DBUILD_TESTING=ON
make
make test
# colcon assuming kindr cloned in src
colcon build --cmake-args -DBUILD_TESTING=ON
colcon test
# analog for catkin tools
catkin build --cmake-args -DBUILD_TESTING=ON
catkin test

Also includes changes from the upstream anybotics repo and a minor fix for the previously diamond inherited != operator. I also bumped the cmake version to be compliant with the versions currently being used by ros2.

Since there is currently no other branch I can only open the PR onto the master branch. I think it would make sense to create a new ros2 branch where this PR could land to not break legacy tools.

floriantschopp and others added 30 commits December 30, 2019 16:06
[cmake] Install package.xml for kindr and cmake_clang_tools

GitOrigin-RevId: 2256f0457fbbbd457fc95933fc4a5dc293380f73
[kindr] Make norm() in RotationQuaternion const

GitOrigin-RevId: 05672ebc903a161ec879402517b9c966595a80f6
[kindr] Add rotation.interp(other, x) function

GitOrigin-RevId: 82bc40337534afd96df814d754f37c2d5437157c
[kindr] Interpolate safer

GitOrigin-RevId: 7f4c0b434a7125779e92d3fbc5ef9c8609b59da8
[kindr] Generate kindr doc in binary directory

GitOrigin-RevId: d1d9dcd919550341ba5a39ba230c9f16156e4eac
Fixes RotationMatrixSingleTest.testComparisonEqual
…arter-rotations

Floating point errors can lead to an undefined/inverted axis, if rotation angle is near zero

If comparison between two AngleAxis with rotationAngle approx 0 is still desired, the ComparisonTrait needs to be improved, and the unit test run directly with the operator==
…_tests

GitOrigin-RevId: 93659679187b42be8aa51011e6772aaa305859a6
[kindr] Make methods static.

GitOrigin-RevId: 11b3a201db37e723436920ada52fa1a03c314a30
…ltiplication

GitOrigin-RevId: a1b18e3dcf62cb08013d4586f7ce64efee388303
[kindr] Fixed static assert to work with clang.

GitOrigin-RevId: be1b853119fa00651ad940d76f406f457feee1e4
[kindr] Add != operators to quaternions.

GitOrigin-RevId: 5f6ab15e24e848c4643313b717d6b88dda08e4f3
[kindr, curves] fixed curve test

Closes #UNKNOWN

GitOrigin-RevId: bbeba1eea9597ec53b1ff066629269e945aaac26
[kindr] Add documentation and pointers to EulerAnglesZyx

GitOrigin-RevId: 6ae82c036b7a2b63c07f1d8964e4e6c6b8a15ee9
[devops] Rename all readme's to Readme.

Closes #UNKNOWN

GitOrigin-RevId: 9f3c130b2d28097a7744cb33140346f11c6c3c3d
[kindr] Add Identity() and Zero() static functions

Closes #UNKNOWN

GitOrigin-RevId: 0f7b7e8a382a426f6a0df94aff95b4431bb3a841
[kindr] Fix double Zero() definition

GitOrigin-RevId: 174ddfb2bfcffe116aeb2ff48d75c4f8a4f1ea9d
[kindr] Add Zero() to child twist classes

Closes #UNKNOWN

GitOrigin-RevId: c4b179e7e091ae28dfb9d02e5348d1213e14e5c3
[monorepo] Update all doxygen config files

GitOrigin-RevId: 805933ac2723621385d5e8ecef62e12c41a9272f
fixed comment in kindr

Squashed commit:

Import change set of branch rsl/fix/kindr_comment.

Commits:
--
Change 1 of 1 by fabianje <fabian.jenelten@mavt.ethz.ch>:

fix.

Authors:

Co-authored-by: fabianje <fabian.jenelten@mavt.ethz.ch>

 **Related ANYmal Research MR:** https://code.anymal.com/anymal-research/anymal_research/-/merge_requests/175

Authored by: Fabian Jenelten

*Note: The MR in ANYmal Research has to be closed manually.*

ANYmal Research issues closed

GitOrigin-RevId: 68caa65fe9ce67fdf7ffb76eb00890191cb859af
Group kindr packages in tools/modelling/kindr/

Closes #UNKNOWN

GitOrigin-RevId: 9f885338f323faead74ac482cb2512886738ae77
[kindr] Add Wrench::Zero()

GitOrigin-RevId: 7d9337f2e6731331dd0fbd10c4013f9061c01b37
[kindr] Rename Wrench6 to Wrench

GitOrigin-RevId: 0f216c406c76424618250ceda8dec0fe99f48568
hwyss-anybotics and others added 29 commits April 13, 2022 18:16
…-master'

GitOrigin-RevId: 727517bf53e57d4e7398ae6f8176859a82c33733
GitOrigin-RevId: 712ff18dc880cc0ea01716fbd9d7cd65ea23fb32
GitOrigin-RevId: a6b0e9f7981ce7fdf8387ac8503701b040d9f7fd
[kindr_py] Provide python bindings for Kindr.

GitOrigin-RevId: 435bdb123d259f573bd57a900c77bfe57ca73dfd
GitOrigin-RevId: 3c94b85701fc8092dfa4bac02722439a58e6a63c
GitOrigin-RevId: 81716deb102b79af979516e3bbf1502e5d3f7714
GitOrigin-RevId: 6eb1661e21882191caeeb777de5157fe5c715a2b
GitOrigin-RevId: bed4c80c856d2fbef5fcaae3829e16e10fdc4111
Fixed broken doxygen link.

GitOrigin-RevId: d40bfdc0034c4571eab63751b2dec0dfa41b852d
GitOrigin-RevId: 1a750421867c10911bf73afafcac2afd49135607
GitOrigin-RevId: cbd1bb5a9a24e1be6ef8df9255212d6c7297e75c
GitOrigin-RevId: 58e194a10f164ab8210c909c59f3afaac4fb90ff
GitOrigin-RevId: 7a9f1f11a59c06d0a7acb100347b6696a516b92f
GitOrigin-RevId: 19d842eb6c5de548cd2d1a599b11318fe3aed34f
GitOrigin-RevId: 3cd6089814912a039f1612cf4ed02c914cbf2db8
GitOrigin-RevId: 902f0289b026b4543cdff4d099236c802e795b44
GitOrigin-RevId: 4ec6a52059510869ead621ffde76f516c7776221
GitOrigin-RevId: 3c170d09e6c213ac715b9a9a46d9105a36432099
GitOrigin-RevId: 4659135876c455d1a51007d61976fa596c7df57d
[kindr] Added support for ROS2.

Closes #UNKNOWN

GitOrigin-RevId: 004b745fb7f6e18e8581de7cf5763002b1f0150b
GitOrigin-RevId: 28333e455e07996c87eb821347d0c969f4778675
[kindr] Set cmake_minimum_required to 3.16.3

GitOrigin-RevId: caa6edc65a655107cdc802d4039425997f15e1ff
GitOrigin-RevId: f69bd332ed6125a529d3818f372d0bddcbdd9942
GitOrigin-RevId: 58e32041de953fd0703933d53d32d4902cd7b4b8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.