CXXCBC-639: Allow to build both static and shared libraries#707
Merged
avsej merged 3 commits intocouchbase:mainfrom Aug 19, 2025
Merged
CXXCBC-639: Allow to build both static and shared libraries#707avsej merged 3 commits intocouchbase:mainfrom
avsej merged 3 commits intocouchbase:mainfrom
Conversation
e6d01ea to
001e4ef
Compare
2472efa to
4358ecb
Compare
0fc1b74 to
5f04125
Compare
fab7178 to
5dcba20
Compare
To avoid issues with generation of cmake helper scripts the following changes has been made: * interface libraries that are used to carry compiler options and flags are declared as IMPORTED to avoid unnecessary INTERFACE_LINK dependencies for the static library * jsonsl, asio and couchbase_backtrace libraries are not linked as a targets, but rather as a object files directly. This is also done to avoid announcing them as a transitive dependencies. All these libraries are hidden and never exposed. * for other third-party dependencies do not disable install tasks, which generate export files * the static library repackaged and all dependencies included into single library file, because of that some of the object files have to be renamed with "public_" or "columnar_" prefixes to avoid collisions. This patch also removes some unused cmake files (of crypto, sasl and operations/management directories). Fixes couchbase#701
5dcba20 to
5df02fd
Compare
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.
To avoid issues with generation of cmake helper scripts the following changes has been made:
interface libraries that are used to carry compiler options and flags are declared as IMPORTED to avoid unnecessary INTERFACE_LINK dependencies for the static library
jsonsl, asio and couchbase_backtrace libraries are not linked as a targets, but rather as a object files directly. This is also done to avoid announcing them as a transitive dependencies. All these libraries are hidden and never exposed.
for other third-party dependencies do not disable install tasks, which generate export files
This patch also removes some unused cmake files (of crypto, sasl and operations/management directories).
Fixes #701