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

Update Cesium library list to match the current state of cesium-native #2647

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ELeeScape
Copy link
Contributor

The cesium-native project redid their dependencies a while back to use vcpkg and (I'm guessing) that caused osgEarth to be out of sync with what it needs. This removes csprng which is no longer used, changes the names of modp_b64 -> modpbase64 and s2geometry -> s2, and adds a whole bunch of new libraries. It also links in crypt32 on Windows, which is required by OpenSSL. This should fix #2645.

I'm not entirely sure that every single one of the absl libraries is actually required, but after uncovering linker errors for three or four of them one at a time, I gave up and just dumped them all in there.

There might be a more elegant way to handle the need for linking crypt32 on Windows. I see that cesium-native/install/lib/pkgconfig/libcrypto.pc contains the correct linker flags for each platform but I'm not very familiar with either cmake or vcpkg yet so I don't know how that's supposed to work.

After these fixes, the osgCesiumNative code builds, but it doesn't install correctly. There are several dlls missing in the install/bin folder, such as osgViewer.dll, so none of the applications will run. I'm not sure how to fix that yet.

@jasonbeverage
Copy link
Collaborator

Thanks for this PR. I want to take a look at what Cesium did with the vcpkg dependencies and see if there is a more elegant way we can build against cesium native. I will definitely use this as inspiration though

@ELeeScape
Copy link
Contributor Author

Makes sense - I don't really know what I'm doing here so my PR was definitely brute-force.

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

Successfully merging this pull request may close these issues.

Cesium Native: Could NOT find csprng
2 participants