[CMake] Add dep in add_swift_target_library_single from install component #70490
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.
While
add_swift_target_library
has code to add a dependency from the install component to the target, similar code was missing fromadd_swift_target_library_single
, probably becauseadd_swift_target_library
callsadd_swift_target_library_single
, so the extra dependency is not necessary.However, there's usages of
add_swift_target_library_single
outsideadd_swift_target_library
which were creating targets that were not dependencies of their install components. Some of those cases are the embedded stdlib targets, which are installed as part of thestdlib
component.It normally does not matter when using
build-script
, because those targets are build as part ofall
, but it does matter if one is using CMake/Ninja directly or in cases wherebuild-script
is not used. Trying to use targets likeinstall-stdlib
will had missed building the embedded stdlib, and failed the installation.