cesium-native icon indicating copy to clipboard operation
cesium-native copied to clipboard

Write a blog post on use of vcpkg in Cesium Native and its consumers

Open timoore opened this issue 10 months ago • 4 comments

Thanks to a community contribution, the Cesium Native library has been using the vcpkg C++ manager internally for several months. Cesium Native is switching to a different style of vcpkg use, called "manifest mode," which offers more flexibility to consumers of Cesium Native. This blog post will describe some of the reasons for the switch, how to use Cesium Native in a project via manifest mode, and some tricks for doing development work in Cesium Native in the context of changes to a project that includes it. We will also present some lessons learned iin using vcpkg with Microsoft Visual Studio and GitHub Actions.

timoore avatar Mar 11 '25 17:03 timoore

It doesn't work! I always fail in downloading from ezvcpkg! PLEASE RECOVER THE OLD WAY OF ADDING DEPENDENCIES BACK! GIVE US ANOTHER CHOICE!!!!

zhcnyuyang avatar Mar 30 '25 06:03 zhcnyuyang

Hi, sorry that you're having issues. Could you post a log of the problems you're having? We still use the ezvcpkg-based build in our integrations.

timoore avatar Mar 30 '25 21:03 timoore

Yes, we are having problems too with vcpkg when trying to build for iOS simulator, Android x86 or even with emscripten with ptrheads enabled. We are still maintaining the old build system because vckpkg doesn't work for us either. At least with CMakeLists we can fine tune the system to make cesium native build for all platforms.

germanmarques avatar Jun 11 '25 15:06 germanmarques

Yes, we are having problems too with vcpkg when trying to build for iOS simulator, Android x86 or even with emscripten with ptrheads enabled. We are still maintaining the old build system because vckpkg doesn't work for us either. At least with CMakeLists we can fine tune the system to make cesium native build for all platforms.

I think that is actually a reasonable approach. The Cesium Native build is not strictly tied to vcpkg. I don't know what level of support is provided in vcpkg for the environments you mention, but we can't do ports of vcpkg ourselves; if it just doesn't work, then do something else.

timoore avatar Jun 11 '25 15:06 timoore