-
Notifications
You must be signed in to change notification settings - Fork 358
Add vcpkg related files and MSVC CI job #1189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
While vcpkg supports Linux, our main focus is on Windows (MSVC) for now. In this first step a minimal set of dependencies is added to be able to do a build of the framework with most modules disabled.
This makes it easier to run CMake with a fixed set of many options. It is also a preperations step for a vcpkg based CI job.
This is an inital draft that rebuilds all dependencies all the time. For use in production caching should be added (either via GitHub Action Cache or via GitHub Packages).
|
Take it out of draft if you want me to review it. |
|
I don't need a full review yet, but like to get a "go" on using the approach that involves the package registry as it will be painful to clear/revert ones I started to use it. |
|
I took it out of draft anyways now. I think 8 minutes build time without caching is acceptable as a stop gap solution and can be merged. Caching will become more important as soon as we enable heavier deps like Qt and FFmpeg. |
| { | ||
| "default-registry": { | ||
| "kind": "git", | ||
| "baseline": "cfcbdb245f1179a5a493890a0b69531d66969e62", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does this commit ID get updated? Can it be a tag instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One has to update that manually once in a while.
As far as I can tell from the documentation and open feature requests (like this or this) only a long commit hash, but no tags are supported.
Regarding CI this is an initial draft that rebuilds all dependencies all the time. For use in production caching should be added. There are two options for caching (see microsoft/vcpkg-tool#1662):
I tested both approaches in my fork successfully. Given that the NuGet approach is recommended, I tend to use it. However I as soon as I add code for it, it will flood the registry of the mltframework GitHub organization with packages, hence I want to hear your feedback beforehand. Any objections?