mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
Merge topic 'makefile-ar-limits'
b6c49713b3 Makefile: Fix command line limits for static libs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2078
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include <algorithm>
|
||||
#include <memory> // IWYU pragma: keep
|
||||
#include <sstream>
|
||||
#include <stddef.h>
|
||||
#include <vector>
|
||||
|
||||
#include "cmGeneratedFileStream.h"
|
||||
@@ -732,10 +733,14 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules(
|
||||
// Archiving rules never use a response file.
|
||||
useResponseFileForObjects = false;
|
||||
|
||||
// Limit the length of individual object lists to less than the
|
||||
// 32K command line length limit on Windows. We could make this a
|
||||
// platform file variable but this should work everywhere.
|
||||
archiveCommandLimit = 30000;
|
||||
// Limit the length of individual object lists to less than half of
|
||||
// the command line length limit (leaving half for other flags).
|
||||
// This may result in several calls to the archiver.
|
||||
if (size_t limit = cmSystemTools::CalculateCommandLineLengthLimit()) {
|
||||
archiveCommandLimit = limit / 2;
|
||||
} else {
|
||||
archiveCommandLimit = 8000;
|
||||
}
|
||||
}
|
||||
|
||||
// Expand the rule variables.
|
||||
|
||||
Reference in New Issue
Block a user