Enable calls to find_dependency
in the exported config only if we are building a static library.
#4526
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.
#4505 replaced bundling of our dependencies' static libraries with calls to CMake's
find_dependency
command. We definitely need these calls when we have installed a static library, and we definitely don't need them in the release artifacts where everything is contained in a shared library.Out of abundance of caution for potential cases where we might need these options in future scenarios, I controlled emitting these calls with
TILEDB_INSTALL_FIND_DEPENDENCIES
, an on-by-default option that was always enabled when building a static library. This caused disruptions in downstream projects such as SOMA because of this change in defaults.My initial thought was to make this option off-by-default if we are not building a static library, but as it turns out we never need it enabled in such cases, because a shared library does not require linking to its dependencies when we link to it, and these dependencies are implementation details and not exposed through our public C API. Contrast this with cases like
azure-storage-blobs-cpp
depending onazure-storage-common-cpp
at install-time, because the former's public headers depend on the latter's.So this PR removes the
TILEDB_INSTALL_FIND_DEPENDENCIES
option and replaces it withTILEDB_STATIC
.TYPE: NO_HISTORY