diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2020-08-03 14:45:17 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-08-03 16:14:16 (GMT) |
commit | cdb50af2f6801bf760376c9d78d39131be93b987 (patch) | |
tree | ccf2126cb0015002b3aa8cc7907f914854738a32 | |
parent | 103d6faed9f170b44d8ddf9ea55588a68a165469 (diff) | |
download | CMake-cdb50af2f6801bf760376c9d78d39131be93b987.zip CMake-cdb50af2f6801bf760376c9d78d39131be93b987.tar.gz CMake-cdb50af2f6801bf760376c9d78d39131be93b987.tar.bz2 |
Ninja: Restore shorter path to response files
In commit 99ed39b011 (Ninja Multi-Config: Make link response files
per-config, 2020-07-15, v3.17.4~3^2), we added the target directory to
the response file under the mistaken assumption that two different
targets with the same name could be in different directories. However,
this causes the path to the response file to be too long to fit on a
command line. Take the path back out, while leaving in the per-config
split.
Fixes: #21050
-rw-r--r-- | Source/cmNinjaNormalTargetGenerator.cxx | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index eed463d..ba2ea5b 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -748,12 +748,8 @@ void cmNinjaNormalTargetGenerator::WriteDeviceLinkStatement( static_cast<int>(cmSystemTools::CalculateCommandLineLengthLimit()) - globalGen->GetRuleCmdLength(this->LanguageLinkerDeviceRule(config)); - std::string path = localGen.GetHomeRelativeOutputPath(); - if (!path.empty()) { - path += '/'; - } build.RspFile = this->ConvertToNinjaPath( - cmStrCat(path, "CMakeFiles/", genTarget->GetName(), + cmStrCat("CMakeFiles/", genTarget->GetName(), globalGen->IsMultiConfig() ? cmStrCat('.', config) : "", ".rsp")); // Gather order-only dependencies. @@ -1162,12 +1158,8 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement( globalGen->GetRuleCmdLength(linkBuild.Rule); } - std::string path = localGen.GetHomeRelativeOutputPath(); - if (!path.empty()) { - path += '/'; - } linkBuild.RspFile = this->ConvertToNinjaPath( - cmStrCat(path, "CMakeFiles/", gt->GetName(), + cmStrCat("CMakeFiles/", gt->GetName(), globalGen->IsMultiConfig() ? cmStrCat('.', config) : "", ".rsp")); // Gather order-only dependencies. |