Second attempt at migrating packages to vcpkg #820
+873
−245,772
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.
This is an updated version of #786 that attempts to resolve issues with the installation footprint, specifically the lack of installed headers and libraries for the upstream dependencies of Cesium-Native, as covered in #817.
In order to avoid flooding the installation directory with every single library and header that is part of the upstream dependencies for Cesium-Native, this PR breaks down the packages into 4 groups: public, private, and test.
The public packages are any packages where the headers are used in the installed public headers for Cesium, and therefore need to have both the static library and the headers for the package bundled in the install. Things like
expected-lite
andrapidjson
fall into this category.The private packages are any where the headers are not used in the public interface, so they don't need to be installed, but the static library will still need to be installed for the final link step of the consumer application.
The final category, test, is for libraries that are only used by the test code and therefore don't need any install step at all.
Unfortunately, it looks like Abseil, a dependency of s2geometry, distributes an excessive number of distinct static libraries, and I don't really know how that could be trimmed down easily to just what s2 needs (I'm assuming it's a small subset).
This should much more closely match the current installation layout of the main branch.