Windows binaries for the dependencies of robotology-superbuild .
The following libraries (and their dependencies) are built using vcpkg
:
ace
asio
boost-asio
boost-process
boost-dll
boost-filesystem
boost-system
freeglut
gsl
eigen3
ode
libxml2
eigen3
opencv
matio
sdl1
sdl2
qt5-base[latest]
qt5-declarative
qt5-multimedia
qt5-quickcontrols
qt5-quickcontrols2
sqlite3[core,tool]
furthermore, the ipopt-binary
and the esdcan-binary
from robotology-vcpkg-binary-ports
is also installed.
The binaries are generated by installing vcpkg in C:/robotology/vcpkg
, installing the selected ports, and compressing the C:/robotology
directory in a .zip
archive.
See releases to download the archives.
To use the archive, you just need to donwload it and extract it in the C:/
directory.
To use then vcpkg libraries, you need to configure your CMake projects to use the vcpkg's
toolchain as CMAKE_TOOLCHAIN_FILE
, for example by configuring the projects as:
cmake -A x64 -DCMAKE_TOOLCHAIN_FILE=C:/robotology/vcpkg/scripts/buildsystems/vcpkg.cmake ..
See vcpkg's documentation for more info on how to use vcpkg-installed libraries.
You can install or remove ports from the vcpkg installation in C:/robotology/vcpkg
as you do for any other vcpkg installation.
However, as this vcpkg installation contains some ports installed from the custom port repo contained in C:/robotology/vcpkg
,
due to a regression in vcpkg (see microsoft/vcpkg#10119) you need to pass the --overlay-ports=C:/robotology/vcpkg/robotology-vcpkg-binary-ports
argument whenever you use vcpkg.
For example, to install a new port called <portname>
the correct command is:
./vcpkg.exe install --overlay-ports=C:/robotology/vcpkg/robotology-vcpkg-binary-ports <portname>:x64-windows
To use the script in a GitHub Action script, you can use the following snippet:
- name: Dependencies [Windows]
if: matrix.os == 'windows-latest'
run: |
# To avoid spending a huge time compiling vcpkg dependencies, we download an archive
# that comes precompiled with all the ports that we need
choco install -y wget unzip
# To avoid problems with non-relocatable packages, we unzip the archive exactly in the same directory
# that has been used to create the pre-compiled archive
cd C:/
wget https://github.com/robotology/robotology-superbuild-dependencies-vcpkg/releases/download/<INSERT_HERE_THE_USED_VERSION>/vcpkg-robotology.zip
unzip vcpkg-robotology.zip -d C:/
rm vcpkg-robotology.zip