This will be a VERY controversial opinion but I want you to take it with sincerity since it comes from years of professional experience with several package managers.
Yes, vcpkg
is the best package manager out there for both Windows and Linux equally.
Many people will promote Conan as the best thing out there but my experience with it is that it is chaotic at best. You add packages A
and B
that depend on package C
(say boost) but of different versions. It is dependency hell.
vcpkg
on the other hand, has a curated list of versioned libraries that are 100% compatible with each other. So you are guaranteed that any combination of packages you are sourcing from vcpkg will not cause linkage problems to your application. It is extremely stable and professional in that sense.
Once you are ready to upgrade your dependencies, say after a year or two, you just upgrade to a new blessed version from vcpkg, which is also inter-compatible. So no surprises, no days googling and getting mad at StackOverflow looking to solve weird compiler errors.
In the past company I worked, a large options trading firm in Chicago, they had ONE guy taking care of publishing internally the vcpkg packages on demand. We are talking about +250 packages that were not available on the O/S (Redhat). Everything was smooth and the CD/CI pipeline through Jenkins was great, by the book.
Then a couple of desks pushed hard to get Conan installed because they wanted to have the latest packages, meaning packages that were less than 6 months old from release. Well guess what happened then. Groups could not reuse software they built from each other because their dependencies were completely incompatible with each other. The IT groups writing plumbing libraries were suddenly unable to fulfill requests from the desk groups because once they linked against their libraries, it would frequently clash with the libraries used by their applications. Everything started to break. CD/CI was no more because it was impossible to make Jenkins ingest that amount of custom scripting. Packages stopped being published by a central blessed firm source and groups started compiling their own binaries, frequently straight from their home folder $HOME/stuff
into production machines located inside the exchanges. Scary stuff.
Finally they hired a team of 7 consultants that were in charge of the build system and Conan. Well good thing the consultant firm was friends with the CIO, if you see what I mean.