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

Document installation of Windows dependencies via vcpkg #348

Merged
merged 3 commits into from
Feb 19, 2020

Conversation

traversaro
Copy link
Member

As #134 has been fixed, we can finally avoid to install 4 different installers to install the superbuild dependencies on Windows, and we can just rely on vcpkg, relying in particular on the pre-compiled version available at https://github.com/robotology-playground/robotology-superbuild-dependencies-vcpkg to avoid the need of compiling all the libraries for hours.

README.md Outdated
* ICUB software ( http://wiki.icub.org/wiki/Windows:_installation_from_sources#Getting_iCub.27s_dependenceis ) to install Ipopt, SDL, Qt5 and GLUT (disable ICUB during the installation, as ICUB will be installed by the superbuild)
* the robotology-additional-dependencies installer ( https://github.com/robotology-playground/robotology-additional-dependencies ) to install LibXML2,
* if you need to compile software that depends on OpenCV, download the official installer for OpenCV 3.4.4 at https://sourceforge.net/projects/opencvlibrary/files/3.4.4/opencv-3.4.4-vc14_vc15.exe/download and set the `OpenCV_DIR` enviroment variable to the directory that contains the `OpenCVConfig.cmake` file, tipically `<install_prefix>/opencv/build/x64/vc15/lib/` for 64-bit installations. Note that tipically OpenCV is installed as part of the YARP dependencies installer, but at the moment the YARP dependencies installer has a bug related to OpenCV, see https://github.com/robotology/robotology-superbuild/issues/145 for more info. Moreover, append `<install_prefix>/opencv/build/x64/vc15/bin/` to the `Path` environment variable.
To install these libraries on your machine, we suggest to use [`vcpkg`](https://github.com/microsoft/vcpkg), the C++ library manager mantained by Microsoft. As `vcpkg` compiles from sources all its libraries, this can be quite time intensive for some libraries such as `qt5` or `opencv`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you identify what are the libraries that is going to be installed through vcpk, since the reference to these is not clear?

Copy link
Member Author

@traversaro traversaro Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The complete list of the libraries is available both in the link https://github.com/robotology-playground/robotology-superbuild-dependencies-vcpkg and in the later provided docs https://github.com/robotology/robotology-superbuild/pull/348/files#diff-5dd97f9483cd18fe5b955d65f1ad5c79 . I am afraid that repeating once more here would be just confusing.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree on what you said, but I think It is better to add a link for these to one of the links you have mentioned.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I am afraid is that if I add a link, the user will follow the link and install vcpkg dependencies manually instead of continue to read, as we had this problem in the past with the setup.sh scripts, were we listed env variables before, and later we explained that you could load them. What happened with most users is that they were copy-pasting the env variables in their .bashrc, without reading further. If it is less confusing, I can change these libraries with the required dependencies. cc @diegoferigo

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand your point and it makes sense. Given the fact that at the end of paragraph you mentioned the dependent libraries (If you prefer to use your own vcpkg to install the dependencies of the superbuild, please refer to the documentation available at [doc/vcpkg-dependencies.md](doc/vcpkg-dependencies.md).), your suggested change should be fine, and there is no need to add a link here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Description addressed in f56c480 .

@traversaro traversaro merged commit 493e734 into master Feb 19, 2020
@traversaro traversaro deleted the readme-vcpkg-deps branch February 19, 2020 20:48
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