Skip to content
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

remove winlibs and use vcpkg instead #555

Closed
5 tasks done
xiaoyifang opened this issue Apr 21, 2023 · 8 comments
Closed
5 tasks done

remove winlibs and use vcpkg instead #555

xiaoyifang opened this issue Apr 21, 2023 · 8 comments
Assignees
Labels
help wanted PR welcomed.

Comments

@xiaoyifang
Copy link
Owner

xiaoyifang commented Apr 21, 2023

Is your feature request related to a problem? Please describe.
Currently the packages in winlibs are mostly taken from vcpkg build packages.

Describe the solution you'd like

use vcpkg and qmake /cmake together .
Maybe need change the github action script at the same time.

Steps:

  • create a seperate repository to backup the winlibs https://github.com/xiaoyifang/goldendict-winlibs

  • remove eb.lib from winlibs and use submodule eb

  • use cmake to build qt6 based goldendict

  • integrete vcpkg with cmake
    vcpkg has better support for cmake

  • new features will stop to add to qt5 if it cost extra work.

@xiaoyifang
Copy link
Owner Author

this can be postpone after cmake adaption which is qt6.

@xiaoyifang
Copy link
Owner Author

vcpkg and cmake can be used together ,
Currently ,all the dependencies in the winlibs folder can be found in the vcpkg

@shenlebantongying
Copy link
Collaborator

shenlebantongying commented May 7, 2024

ffmpeg needs hours to build 😅 😅

vcpkg has a experimental GitHub caches feature that uses GitHub caches. Maybe this feature does not work for now. We can also make a new workflow that dedicates to building a cache for all dependencies and drop them into the current winlibs. Personal free GitHub has 10 GiB space for caches.

https://learn.microsoft.com/en-us/vcpkg/consume/binary-caching-github-actions-cache

https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows

Or we simply drop ffmpeg now.

@xiaoyifang
Copy link
Owner Author

ffmpeg needs hours to build 😅 😅

ffmpeg does not needed anymore when qt>6.5(?). or do not build with ffmpeg enabled on Windows

@shenlebantongying
Copy link
Collaborator

shenlebantongying commented May 13, 2024

TODO for future PRs

  • add breakpad for windows
  • how to disable building of debug packages for CI?
  • Pin version? Remove some unused features?

@shenlebantongying shenlebantongying self-assigned this Jul 7, 2024
@shenlebantongying
Copy link
Collaborator

shenlebantongying commented Jul 7, 2024

The vcpkg bundled in GitHub actions runners update every time the runner image updates.

This means vcpkg packages will be updated weekly.

Update frequency -> https://github.com/search?q=repo%3Aactions%2Frunner-images+Windows+Server+2022&type=pullrequests

The initial full build needs maybe 30 mins. https://github.com/shenlebantongying/goldendict-ng/actions/runs/9824674216/job/27123911938 .

I suppose that even if the vcpkg updates, the old caches are still useable if the library isn't updated?

Worst case scenario: one super long build to create caches every week 😅

@shenlebantongying
Copy link
Collaborator

I consider this is finished. Let's just keep the winlibs just for now, just for PR check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted PR welcomed.
Projects
None yet
Development

No branches or pull requests

2 participants