-
Notifications
You must be signed in to change notification settings - Fork 329
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
make kiss_icp c++ package installable via cmake #408
base: main
Are you sure you want to change the base?
Conversation
@nachovizzo @benemer @tizianoGuadagnino I think I fixed the things that made the CI break in the last run. Can you please re-run them? |
oh... right! I added an error case if installing is not possible with non-system-wide dependencies. |
@Pyrestone, we get a build error on cpp API on 20.04 ;( |
Damn, CMake really insists that the installation is missing dependencies, even if it's never going to be run 🤦♂️ A CI test which actually checks that the lib can be built, exported and included when building cpp/include_example would probably be a good follow-up addition, since the added functionality is essentially switched off now in the current CI build process... |
Hey @Pyrestone, first of all, thank you for your contribution! Now the CI passes :) We need more time to review this PR, because we are currently busy with other parts of the project. Also, I know that @tizianoGuadagnino also wanted to look into this or even started working on it in #330, so I guess he is the one who can provide the first feedback. |
Hi there!
Cool project!
I saw this was an open task in #330 a while ago, and since I wanted to use KISS-ICP in another project, I re-structured the C++ project so that it is able to be installed via CMake, and then found and loaded in other C++/CMake projects.
I also built a minimal working example on how to include KISS-ICP in another CMake project in the cpp/include_example directory. It's up to you if that's something you find valuable of keeping or not.
Unfortunately, I had to change the directory structure of the package slightly (using separate src/ and include/kiss_icp/ subdirectories to separate out the headers), and I'm not sure if that maybe breaks some ROS 2 components that rely on the C++ library paths. I wasn't yet able to check that, so please let me know if that breaks anything.
The python package still seems to build fine with
make install
, and the python/tests/test_kiss_icp.py test still works fine.