CMake: Enable building with BUILD_SHARED_LIBS=1 #3490
Merged
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.
Rename the
${SPIRV_TOOLS}
target to${SPIRV_TOOLS}-static
and alias${SPIRV_TOOLS}
to either${SPIRV_TOOLS}-static
or${SPIRV_TOOLS}-shared
depending onBUILD_SHARED_LIBS
.Re-point all internal uses of
${SPIRV_TOOLS}
to${SPIRV_TOOLS}-static
.${SPIRV_TOOLS}-static
target output is explicitly renamed to just${SPIRV_TOOLS}
to ensure the binary name does not change from current behavior.Build the
SPIRV-Tools-*
libraries as static, as this is what they always were.Force the external targets
gmock
andeffcee
to be built statically. These either do not support being built as shared libraries, or require special flags.Issue: #3482