1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-24 03:02:46 +08:00

Ninja: add option to enforce usage of response files

If the cmake or environment variable CMAKE_NINJA_FORCE_RESPONSE_FILE
is set then a response file is used regardless the command line length.
This commit is contained in:
Peter Kümmel
2012-09-27 22:29:17 +02:00
committed by Brad King
parent e31df03939
commit 1e47ccb554

View File

@@ -554,10 +554,10 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
int linkRuleLength = this->GetGlobalGenerator()->
GetRuleCmdLength(this->LanguageLinkerRule());
int commandLineLengthLimit;
if (this->GetMakefile()->IsDefinitionSet("CMAKE_FORCE_RESPONSE_FILE")) {
commandLineLengthLimit = 1;
} else {
int commandLineLengthLimit = 1;
const char* forceRspFile = "CMAKE_NINJA_FORCE_RESPONSE_FILE";
if (!this->GetMakefile()->IsDefinitionSet(forceRspFile) &&
cmSystemTools::GetEnv(forceRspFile) == 0) {
#ifdef _WIN32
commandLineLengthLimit = 8000 - linkRuleLength;
#elif defined(__linux) || defined(__APPLE__)