vowpal_wabbit
vowpal_wabbit copied to clipboard
Create VCPKG package for VowpalWabbit
Vcpkg is a C++ dependency management system that makes installation and consumption as a dependency very easy. We should support this for VW to allow consuming the lib as easy as possible.
Instructions for creating a new package can be found here: https://github.com/microsoft/vcpkg/blob/master/docs/examples/packaging-github-repos.md
hello @jackgerrits I would love to work on this as a first issue. Could you please guide me to what particular C++ files to package with it. I am having trouble finding them in the repo. It would be great to get a head start.
I had a first crack at this a few weeks ago and this issue is actually blocked on symbol export issues we noticed in #2235. Before we can reasonably create a VCPKG package all of the internal libs need to properly export symbols for when they are built as dynamic libs.
@jackgerrits I am a beginner and want to contribute to Vowpal Wabbit. Is the symbol export issue resolved?
I am not sure if that issue is properly resolved. I'd say we are not likely in a good enough spot for this yet. But if you'd like to hack on it please feel free.
I will first try the previous issue then hop into symbol export issue.
To help move this issue forward: it isn't a requirement to support building as a DLL on Windows to be packaged into vcpkg. The recipe can simply add the following to the top to indicate it must be built as a static library:
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
Thanks for the info @ras0219-msft! I had noticed that one a couple of months ago and was excited to learn it is possible. Haven't had a chance to get around to this issue and it hasn't made it to the top of the backlog. Definitely still hope to get to it
The vowpal-wabbit port was merged in https://github.com/microsoft/vcpkg/pull/27323