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

Update kinematics and collision packages to leverage cmake components #927

Conversation

Levi-Armstrong
Copy link
Contributor

@Levi-Armstrong Levi-Armstrong commented Aug 20, 2023

This updates tesseract_kinematics and tesseract_collision to leverage find_package components.

This will load all tesseract_kinematics supported components based on compiler options for core, ikfast, kdl, opw and ur

find_package(tesseract_kinematics REQUIRED)

or just load the component you need

find_package(tesseract_kinematics REQUIRED COMPONENTS core opw)

This will load all tesseract_kinematics supported components based on compiler options for core, bullet, fcl and test_suite

find_package(tesseract_collision REQUIRED)

or just load the component you need

find_package(tesseract_collision REQUIRED COMPONENTS core fcl)

When finding components you have a cmake variable tesseract_kinematics_<component>_FOUND or tesseract_collision_<component>_FOUNDto check if it was found. This can then be used down stream to disable build of other package components which depend on a specific component.

This repo was helpful in understanding cmake find_package components

@Levi-Armstrong
Copy link
Contributor Author

I need to move the extras.cmake into the core directory to finish out the PR.

@Levi-Armstrong
Copy link
Contributor Author

This requires ricb update: ros-industrial/ros_industrial_cmake_boilerplate#82

@Levi-Armstrong
Copy link
Contributor Author

I did some testing and updated tesseract_environment to use find_package(tesseract_kinematics REQUIRED COMPONENTS core abc) and it generates a cmake error for the abc compnent which is not supported. If you move the component abc to OPTIONAL_COMPONENTS no error is generated find_package(tesseract_kinematics REQUIRED COMPONENTS core OPTIONAL_COMPONENTS abc) and cmake variable tesseract_kinematics_abc_FOUND is set to OFF.

image

@Levi-Armstrong Levi-Armstrong force-pushed the feat/TesseractKinematicsComponents branch from fdd0c6d to fd97689 Compare September 1, 2023 19:38
@Levi-Armstrong Levi-Armstrong changed the title Update tesseract_kinematics to leverage find_package components Update specific kinematics and collision packages to leverage cmake components Sep 4, 2023
@Levi-Armstrong Levi-Armstrong force-pushed the feat/TesseractKinematicsComponents branch from be2cd8f to 12fada5 Compare September 4, 2023 16:08
@Levi-Armstrong Levi-Armstrong changed the title Update specific kinematics and collision packages to leverage cmake components Update kinematics and collision packages to leverage cmake components Sep 5, 2023
@Levi-Armstrong Levi-Armstrong merged commit 787c320 into tesseract-robotics:master Sep 5, 2023
10 checks passed
@Levi-Armstrong Levi-Armstrong deleted the feat/TesseractKinematicsComponents branch September 5, 2023 17:41
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.

1 participant