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

Fix detection of the Ensenso SDK on Windows when the path contains spaces #1875

Merged

Conversation

Robzz
Copy link
Contributor

@Robzz Robzz commented May 30, 2017

By default on Windows, the Ensenso SDK is installed in the Program Files directory. Searching for it currently fails because of the space in Program Files. I fixed this by quoting the @ENSENSO_INCLUDE_DIR@ placeholder in PCLConfig.cmake.in.

@UnaNancyOwen
Copy link
Member

Thanks, LGTM.

@taketwo taketwo merged commit aa5623c into PointCloudLibrary:master May 30, 2017
fbridault pushed a commit to fw4spl-org/fw4spl-deps that referenced this pull request Jun 22, 2017
Changes necessary for the Ensenso grabber

This MR changes the following:

* Add option to build OpenCV with CUDA support, and patch openCV to fix building with CUDA with jom and Ninja on Windows. This is caused by the default install dir for CUDA containing spaces... The patch has been [submitted upstream and merged](opencv/opencv#8819) 🎆 
* Patch PCL to find the Ensenso SDK on Windows because... Yeah, spaces. The patch has been [submitted upstream and merged](PointCloudLibrary/pcl#1875). 😄 
* Bugfix: in the PCL builder CMake code, replace some `BUILD_X` variables with no effect by the actual variables, `WITH_X` (eg. `BUILD_OPENNI` does nothing, the variable is `WITH_OPENNI`).
* Add option to build PCL without CUDA support, to be coherent with what this MR does for OpenCV (currently, PCL is built with CUDA support whenever CUDA is detected).
* Fix PCL and OpenCV not being able to build CUDA targets on windows in parallel. The speed gain here is pretty good  
  Before/After:
    * PCL: 21min/10min
    * OpenCV: 40min/12min
* Ability to set for which CUDA architectures to build dependencies using CUDA. This is not _necessary_, but the build time with CUDA is horribly long, even more so with OpenCV and CUDA support, and this speeds things up quite a bit. By default, build for all SM >= 3.0 architectures (2.x is old and deprecated, I'd be surprised if anyone used this). To speed things up, set it to the architecture of your card **(AND THE GPUS OF THE MACHINES YOU WILL PACKAGE INSTALLERS FOR)**  
  Building PCL + OpenCV + LibSGM (including the aforementioned parallelism improvement):
    * SM 6.0: 21min
    * SM 3.0 3.5 3.7 5.0 5.2 5.3 6.0 6.2: ~1h
* Add a new optional dependency, libSGM, and a patch that basically rewrites the build system from scratch. Also includes a cmake `FindLibSGM` module.
* Windows people who want to show appreciation for the CUDA build speed improvements may send pains au chocolat to @rchavignat. (a man can dream...)


See merge request !58
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.

3 participants