Ninja: be more accurate when estimating the command line length

This commit is contained in:
Peter Kuemmel 2012-06-15 01:45:18 +02:00
parent f13a6a087e
commit 41c28dc35b
2 changed files with 6 additions and 4 deletions

View File

@ -177,7 +177,8 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream& os,
// check if a response file rule should be used
const std::string args = arguments.str();
if (cmdLineLimit > 0 && args.size() > (size_t)cmdLineLimit)
if (cmdLineLimit > 0 &&
(args.size() + + builds.str().size()) > (size_t)cmdLineLimit)
builds << "_RSPFILE";
os << builds.str() << args;

View File

@ -478,12 +478,13 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
symlinkVars["POST_BUILD"] = postBuildCmdLine;
}
int cmdLineLimit = -1;
int cmdLineLimit;
#ifdef _WIN32
cmdLineLimit = 8100;
cmdLineLimit = 8000;
#else
// TODO
cmdLineLimit = -1; // TODO
#endif
// Write the build statement for this target.
cmGlobalNinjaGenerator::WriteBuild(this->GetBuildFileStream(),
comment.str(),