cmGlobalNinjaGenerator: Clarify logic for forcing use of response files
Update the WriteBuild method to use a negative command line length limit to specify that we should force use of response files.
This commit is contained in:
parent
24c9106b7b
commit
f9644a2d1b
|
@ -230,9 +230,10 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream& os,
|
|||
std::string assignments = variable_assignments.str();
|
||||
const std::string& args = arguments;
|
||||
bool useResponseFile = false;
|
||||
if (cmdLineLimit > 0
|
||||
&& args.size() + buildstr.size() + assignments.size()
|
||||
> (size_t) cmdLineLimit) {
|
||||
if (cmdLineLimit < 0 ||
|
||||
(cmdLineLimit > 0 &&
|
||||
(args.size() + buildstr.size() + assignments.size())
|
||||
> static_cast<size_t>(cmdLineLimit))) {
|
||||
variable_assignments.str(std::string());
|
||||
cmGlobalNinjaGenerator::WriteVariable(variable_assignments,
|
||||
"RSP_FILE", rspfile, "", 1);
|
||||
|
|
|
@ -94,7 +94,7 @@ public:
|
|||
const cmNinjaDeps& orderOnlyDeps,
|
||||
const cmNinjaVars& variables,
|
||||
const std::string& rspfile = std::string(),
|
||||
int cmdLineLimit = -1,
|
||||
int cmdLineLimit = 0,
|
||||
bool* usedResponseFile = 0);
|
||||
|
||||
/**
|
||||
|
|
|
@ -697,7 +697,7 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
|
|||
|
||||
cmGlobalNinjaGenerator& globalGen = *this->GetGlobalGenerator();
|
||||
|
||||
int commandLineLengthLimit = 1;
|
||||
int commandLineLengthLimit = -1;
|
||||
if (!this->ForceResponseFile())
|
||||
{
|
||||
commandLineLengthLimit = calculateCommandLineLengthLimit(
|
||||
|
|
Loading…
Reference in New Issue