mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 12:49:36 -06:00
Ninja: Compute linker response file flag earlier
This commit is contained in:
committed by
Brad King
parent
73472408c5
commit
5efac09bed
@@ -172,21 +172,24 @@ void cmNinjaNormalTargetGenerator::WriteDeviceLinkRule(bool useResponseFile)
|
||||
vars.Language = "CUDA";
|
||||
|
||||
std::string responseFlag;
|
||||
|
||||
std::string cmakeVarLang = "CMAKE_";
|
||||
cmakeVarLang += this->TargetLinkLanguage;
|
||||
|
||||
// build response file name
|
||||
std::string cmakeLinkVar = cmakeVarLang + "_RESPONSE_FILE_LINK_FLAG";
|
||||
const char* flag = GetMakefile()->GetDefinition(cmakeLinkVar);
|
||||
|
||||
if (flag) {
|
||||
responseFlag = flag;
|
||||
} else {
|
||||
responseFlag = "@";
|
||||
}
|
||||
|
||||
if (!useResponseFile) {
|
||||
vars.Objects = "$in";
|
||||
vars.LinkLibraries = "$LINK_PATH $LINK_LIBRARIES";
|
||||
} else {
|
||||
std::string cmakeVarLang = "CMAKE_";
|
||||
cmakeVarLang += this->TargetLinkLanguage;
|
||||
|
||||
// build response file name
|
||||
std::string cmakeLinkVar = cmakeVarLang + "_RESPONSE_FILE_LINK_FLAG";
|
||||
const char* flag = GetMakefile()->GetDefinition(cmakeLinkVar);
|
||||
if (flag) {
|
||||
responseFlag = flag;
|
||||
} else {
|
||||
responseFlag = "@";
|
||||
}
|
||||
rule.RspFile = "$RSP_FILE";
|
||||
responseFlag += rule.RspFile;
|
||||
|
||||
@@ -287,21 +290,24 @@ void cmNinjaNormalTargetGenerator::WriteLinkRule(bool useResponseFile)
|
||||
}
|
||||
|
||||
std::string responseFlag;
|
||||
|
||||
std::string cmakeVarLang = "CMAKE_";
|
||||
cmakeVarLang += this->TargetLinkLanguage;
|
||||
|
||||
// build response file name
|
||||
std::string cmakeLinkVar = cmakeVarLang + "_RESPONSE_FILE_LINK_FLAG";
|
||||
const char* flag = GetMakefile()->GetDefinition(cmakeLinkVar);
|
||||
|
||||
if (flag) {
|
||||
responseFlag = flag;
|
||||
} else {
|
||||
responseFlag = "@";
|
||||
}
|
||||
|
||||
if (!useResponseFile) {
|
||||
vars.Objects = "$in";
|
||||
vars.LinkLibraries = "$LINK_PATH $LINK_LIBRARIES";
|
||||
} else {
|
||||
std::string cmakeVarLang = "CMAKE_";
|
||||
cmakeVarLang += this->TargetLinkLanguage;
|
||||
|
||||
// build response file name
|
||||
std::string cmakeLinkVar = cmakeVarLang + "_RESPONSE_FILE_LINK_FLAG";
|
||||
const char* flag = GetMakefile()->GetDefinition(cmakeLinkVar);
|
||||
if (flag) {
|
||||
responseFlag = flag;
|
||||
} else {
|
||||
responseFlag = "@";
|
||||
}
|
||||
rule.RspFile = "$RSP_FILE";
|
||||
responseFlag += rule.RspFile;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user