I’m sure there is probably a tutorial I haven’t found. Vcpkg just can’t be this bad. On Windows it seemed okay, but I decided to use vcpkg and cpack to create my packages instead of continuing with shell scripts and old world tools for Debian & RPM packages.
The CMake build, prior to adding vcpkg, using packaged libraries from the various repos would build in well under three minutes.
Introduction of VCPKG into the build has 2+ hours being burned building dependencies from source. Wouldn’t be bad if that was a one-time thing. Hard to make changes when it takes well over 2 hours to build . . . assuming it doesn’t run out of disk or get killed by OOM.
Project is here. Branch ls-cs-0.2.1 is where the code is.
LsCs-Deb-build-dependencies.sh is the script for setting up your clean Ubuntu 20.04 VM (be certain to have at least 500GB of disk allocated to the VM) At the end of the script it instructs about a couple of manual steps.
build-LsCs-local.sh is where I go to build the libraries. When I build the libraries I always want to build my code 100% clean. I don’t want to sit through basically the same vcpkg 2+ hour time waster. This is a 13th gen i9 with ~120GB of physical RAM. The VM is assigned 6-core and ~48GB of RAM. I squat on the core CMake/vcpkg can use because if I let it default to 7 we get OOM killed.
Is there a way, after one has installed the dependencies, completed the manual steps, and pulled down the project, to run vcpkg install in the source tree (of course telling .gitignore to ignore it) and have the clean build use these libraries? I can make peace with burning 2+ hours the first time I spin up each VM, but on every build?
Hey, I do Yocto builds for embedded systems. I made peace with 3.5-5 hour builds for targets because I had no choice. I have choice here. Use vcpkg only for Windows, making Windows the ugly red headed step-child chained in the basement, and continue on with my crummudgeony ways for Debian & RPM, kicking Arch and other packaging waaaaaaaaaaay down the list, some time long after my death.
Thanks for reading this and any help you can provide.