Can add webrtc lib into vcpkg so that user can use it easily?
Hi @kinglezhuang thanks for posting this request. Could you help provide the source code link about this port?
WebRTC uses GN for it's build system. Are there any existing ports that wrap GN? That might make it easier to generate a port script as opposed to doing everything from scratch.
This should be easier to accomplish once #8963 is merged, right? It adds the relevant cmake scripts required to integrate other GN projects into vcpkg.
Edit: Alternatively, Google's Skia project has a generator for targetting CMake from GN: https://github.com/google/skia/blob/master/gn/gn_to_cmake.py
The crashpad port here is an example using gn so I took a look at adding WebRTC today.
However, I think compiling WebRTC through Vcpkg is not very intuitive at all because the amount of dependencies add up to a total of 10 GB. I'm not sure if that's with or without android deps.
I found this website and git repo that provides automatic builds. The website explains more about the complexity of building it yourself.
https://sourcey.com/precompiled-webrtc-libraries
https://github.com/sourcey/webrtc-builds
https://github.com/sourcey/webrtc-precompiled-builds
I don't know if it's against the rules of Vcpkg but I could submit a pr that add WebRTC from these automated builds. I'm also not sure how trusted this source is but there are similar community efforts to provide complex and hard to get packages. From the top of my head I was thinking of https://github.com/phracker/MacOSX-SDKs which is trusted.
Edit: I just realized that site doesn't provide macOS builds but the git repo provides a build script
Oh awesome! After days of looking, I found up-to-date builds of WebRTC for all platforms here on GitHub. https://github.com/crow-misia/libwebrtc-bin/releases
This person setup Gh actions to automatically create libwebrtc.a or webrtc.lib and header files archived ready to use in your own projects. What's neat about this is that any of us can fork it and still get builds if the owner decides to stop updating it. I've been using this in our project with a custom port that extracts the archives and it works great! Windows 10, macOS 10.11+ and Linux.
I want to give them a big hug because finding this has put a lot of frustration out of the way for me
Most helpful comment
Oh awesome! After days of looking, I found up-to-date builds of WebRTC for all platforms here on GitHub. https://github.com/crow-misia/libwebrtc-bin/releases
This person setup Gh actions to automatically create
libwebrtc.aorwebrtc.liband header files archived ready to use in your own projects. What's neat about this is that any of us can fork it and still get builds if the owner decides to stop updating it. I've been using this in our project with a custom port that extracts the archives and it works great! Windows 10, macOS 10.11+ and Linux.I want to give them a big hug because finding this has put a lot of frustration out of the way for me