cookiecutter-cpp-project
cookiecutter-cpp-project copied to clipboard
[draft] add vcpkg support
This is by far the smallest (read clean) cmake quickstart I have seen. At the risk of adding bloat I made a change so that vcpgk can be used instead of git submodules. To do that I did break use_submodules and changed it to externals with values of submodules, vcpkg, and none. I do not like the name for externals, but its a draft. My big concern is that I was unable to get some of the tests to pass on my system dispite manually touchtesting working. I will argue that untested code is implicitly broken code ;) I am not interested in wasting your time, so if you are not interested in this PR I can continue on my own, since it works for my specific needs. If you are interested and could offer a little guidence on why its failing that would be awesome. Thanks for you awesome cookie cutter!
Hrm. I have vcpkg installed here, so those tests fail on CI. I am not sure if there is a way to cache the binaries for that though, since that could blow up the CI server rebuilding the packages.
@geiseri thank you for this contribution! I haven't had time to look into this properly yet, but maybe adding https://github.com/marketplace/actions/run-vcpkg to the CI jobs would be the way to get the CI to work? (it also caches the binaries)
I also like the contribution in general and in particular the refactoring towards a more versatile externals parameter. Given that I have no experience with vcpkg, I struggle to fix the testing issues myself however. @geiseri Are purely local tests (run: pytest -m local) passing on your machine? How does the test suite learn where your vcpkg installation is located? Through an env variable VCPKG_ROOT?