-
Notifications
You must be signed in to change notification settings - Fork 40
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
Convert rct_optimizations to be a ROS-generic CMake package #42
Convert rct_optimizations to be a ROS-generic CMake package #42
Conversation
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.
Looks good overall. It didn't appear that any of the tests were run, and I think you are right about the CI config file needing an update. It looks like you can add CMake arguments to industrial-ci
using the CMAKE_ARGS
environment variable per its detailed documentation
A couple other comments:
- We should target against Eigen per their documentation. I was hesitant to suggest this for Fix eigen build issue #39 since it required a CMake min version increase; since we're doing that in this PR, though, we should target against Eigen the "right" way
- @Levi-Armstrong mentioned moving the Tesseract CMake macros into a standalone repository. I assume we replace the
rct
macros with those once their available. If not, would it make sense to put those macros in a different place now so they can also be used byrct_image_tools
when the time comes to make it pure CMake?
I've made some changes which I will push up once I get tests running through CI again:
|
CI currently fails with the error below, which I think is because the environment used in the Github Action doesn't have
|
That seems odd. Doesn't the Docker use git to clone the repository it's building as well as packages from .rosinstall files? You can specify that additional packages be installed before running the build using the |
You're right, I didn't understand it quite correctly and git is already installed at the top level. e: I think that the Docker container set up by industrial_ci doesn't have git installed. The source repositories are cloned before the container is initialized and then copied in afterwards. |
change other packages so they treat rct_optimizations as a pure CMake package Fix erroneously commented-out Eigen3 dependency remove pattern matching filter from include install Add rct_common package, move macros and GTest infrastructure to it rename RCT_ENABLE_RUN_TESTING to RCT_RUN_TESTS Add flags to build and run tests in CI install git in CI env add git to ADDITIONAL_DEBS for industrial_ci docker image Remove RCT_RUN_TESTS flag from CI config link rct_examples test against GTest
231f6bf
to
4739d98
Compare
@marip8 I rebased onto the latest master branch and fixed the issue with linking to GTest on the xenial job. I think that the
|
The first step at enabling #35. The work I had done previously converted the RCT packages to be ROS2 packages via Ament, which isn't an ideal strategy for us to use here, so this is a fresh take on the task.
rct_optimizations
.rct_optimizations/cmake/rct_macros.cmake
) to streamline package configuration and test setup. The idea is that the other RCT packages will be able to use these too. These macros are lightly modified from the ones used in Tesseract.rct_optimizations/CMakeLists.txt
. It now provides its libraries through therct::rct_optimizations
target.test
directory, which is added as a subdirectory if theRCT_ENABLE_RUN_TESTING
flag isTrue
.rct_image_tools
,rct_ros_tools
, andrct_examples
find and link againstrct_optimizations
to accommodate the fact that it is no longer a ROS package.TODOs:
RCT_ENABLE_RUN_TESTING
to.github_actions.yml
?