Adam Getchell via Boost
For what it’s worth, having tried Biicode (Conan’s predecessor), Conan, Spack, Conda, and vcpkg, vcpkg is the only package manager for which I’ve been able to consistently (i.e. since I started using it a few years ago) build combinations of {macOS, Linux, Windows } x { gcc, clang, msvc}.
I see you haven't tried build2 (though admittedly we only have Boost for ~1 year). We currently have the following combinations building successfully (sans Boost bugs) and continuously on our CI[1]. All in all, almost 10K builds covering 2 versions of Boost. MacOS x {GCC, Clang} Linux x {GCC, Clang} Windows x {MSVC, Clang, MinGW GCC} Wasm x {Emscripten} You can see the list of all the available build configurations here[2]. Note also that the Windows x Clang combination is Clang targeting the MSVC runtime, not MinGW. And it's with the vanilla clang/clang++ driver, not the clang-cl wrapper. This can be used to highlight the biggest problem (IMO) with package managers like Conan and vcpkg: they are a hodgepodge of build systems. For example, if you try to build libbost-regex with vcpkg, it will use Boost.Build for libbost-regex. But this library depends on ICU, which uses its own home-grown build system. As a result, adding support for something like Clang targeting MSVC with vanilla drivers is essentially an insurmountable task. If interested, you can read on other implications (like faster builds) here[3]. [1] https://cppget.org/?builds=libboost-* [2] https://ci.cppget.org/?build-configs [3] https://build2.org/faq.xhtml#why-package-managers