Microsoft Package Manager
As I had to move some projects to a new PC, I had to install point cloud library. So far there had been two methods
1) executable install package for VS2010
2) release download from GitHub for VS2015 and above
Now, there is a new method:
use vcpkg, the (new) package manager from Microsoft, which "automatically" installs pcl and all bindings.
Automatically means:
a) run the script
b) fix several rename actions, which cannot be done by the script
c) download several files by hand into downloads, so that vcpkg recognizes them (works for sqlite)
d) adapt the script
scripts/vcpkg_download_distfile.cmakeslightly to find the exact filename, that vcpkg expects (additionally need for proj4, pugixml, utfcpp, vtk)
set(downloaded_file_path ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}) message(">>>>>>>>" ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}) set(download_file_path_part "${DOWNLOADS}/temp/${vcpkg_download_distfile_FILENAME}")
the whole install procedure is extremely slow, e.g. VTK runs 31 minutes without download, the whole install took me about 2-3 hours.
make libraries available:
- vcpkg didn't install pcl_visualizer directory *), so I copied it from an older pcl 1.9.1 install
- add D:\GIT\vcpkg\installed\x86-windows\include\vtk-9.0 directory to include directories
- SmartPointer.h still doesn't compile
*) https://github.com/microsoft/vcpkg/issues/11601
... in the end this seems way to much effort, i.e. the pcl 1.9.1 libs are x64 whereas the vcpkg ones are x86. task still pending: https://github.com/PointCloudLibrary/pcl/pull/4096
make libraries available:
vcpkg integrate installbuild with pointing to vcpkg bindings
cmake -DCMAKE_TOOLCHAIN_FILE=D:/GIT/vcpkg/scripts/buildsystems/vcpkg.cmake ..
Point cloud library
2do:- vcpkg didn't install pcl_visualizer directory *), so I copied it from an older pcl 1.9.1 install
- add D:\GIT\vcpkg\installed\x86-windows\include\vtk-9.0 directory to include directories
- SmartPointer.h still doesn't compile
*) https://github.com/microsoft/vcpkg/issues/11601
... in the end this seems way to much effort, i.e. the pcl 1.9.1 libs are x64 whereas the vcpkg ones are x86. task still pending: https://github.com/PointCloudLibrary/pcl/pull/4096
Still way to go
... back again to vcpkg. As the package distribution of pcl didn't fully work yet, I downloaded the GitHub release for 1.9.1. Installing this was magnitudes faster than vcpkg installation. I understand that the future will be managed relations for libraries, at the moment it is still a hassle.Building the project again, I had to disable vcpkg in building options, the project was rebuilt in a rush.