-
-
Notifications
You must be signed in to change notification settings - Fork 827
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
[dep] add PCL as dependency #1258
Conversation
Thanks. I will merge it for now, but it would be great to replace the internal flann soon to avoid version conflicts. |
CMakeLists.txt
Outdated
${LZ4_CMAKE_FLAGS} | ||
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> <SOURCE_DIR> | ||
BUILD_COMMAND $(MAKE) -j${AV_BUILD_DEPENDENCIES_PARALLEL} | ||
DEPENDS ${FLANN_TARGET} ${LZ4_TARGET} ${EIGEN_TARGET} ${BOOST_TARGET} ${PNG_TARGET} |
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.
DEPENDS ${FLANN_TARGET} ${LZ4_TARGET} ${EIGEN_TARGET} ${BOOST_TARGET} ${PNG_TARGET} | |
DEPENDS ${FLANN_TARGET} ${LZ4_TARGET} ${EIGEN_TARGET} ${BOOST_TARGET} ${PNG_TARGET} ${CUDA_TARGET} |
CMakeLists.txt
Outdated
${CUDA_CMAKE_FLAGS} | ||
-DWITH_CUDA:BOOL=OFF |
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.
with or without cuda?
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.
it's not required for the registration module in pcl, that's why I set it to off.
I can put
${CUDA_CMAKE_FLAGS} | |
-DWITH_CUDA:BOOL=OFF | |
${CUDA_CMAKE_FLAGS} | |
-DWITH_CUDA:BOOL=${AV_USE_CUDA} |
so that it is coherent with rest?
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.
My point was just that you added ${CUDA_CMAKE_FLAGS}
which does not make sense if you disable cuda usage.
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.
But yes, if we enable it as it's done now, that makes sense.
This PR is a pre-requisite for the registration module that will be added by #425 .
It adds the CMake scripts to build PCL as a dependency as well as its own dependencies that were not already included in our scripts, flann and lz4.
It also add pcl among the dependencies to build in CI
Implementation remarks
Flann and lz4 do not have a CMake build system but it has been added in vcpkg. In order to use proper CMake configurations 2 forks of the projects have been generated with CMake build systems inspired by those of vcpkg, https://github.com/alicevision/flann and https://github.com/alicevision/lz4.
Lz4 can be consumed as
lz4::lz4
, flann asflann::flann_cpp
and pcl with${PCL_LIBRARIES}
NB
Flann at the moment is an embedded dependency of the project. The moment we will take it out and use it as an external dependency, the script should be modified to include flann and lz4 (its dependency) as a mandatory dependency.