Update Cesium library list to match the current state of cesium-native#2647
Open
ELeeScape wants to merge 1 commit intopelicanmapping:masterfrom
Open
Update Cesium library list to match the current state of cesium-native#2647ELeeScape wants to merge 1 commit intopelicanmapping:masterfrom
ELeeScape wants to merge 1 commit intopelicanmapping:masterfrom
Conversation
Member
|
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 |
Contributor
Author
|
Makes sense - I don't really know what I'm doing here so my PR was definitely brute-force. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.