[cmake] split the archive process to avoid parameter too long problems #12964
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.
Summary
we split independent targets in cmake, which usually does not cause the problem of
parameters too long
however, due to some platform-specific environment settings, it may not be enough.
I tried to use cmake to build in
Msys2
onWindows
and found that there were too many archive files of libc, causing the parameter to be too long.This is because the bash command line of
Msys2
is limited by the impression of Windows bridge, only 32k? (maybe), and it cannot be adjusted.this patch fixes this issue.
refer to:https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_ARCHIVE_APPEND.html
Impact
Testing
CI build