diff options
author | Brad King <brad.king@kitware.com> | 2020-07-17 12:49:23 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-07-17 12:49:37 (GMT) |
commit | 286411ed89b4644d86d6376b21a142a0f32f3fdc (patch) | |
tree | 5f4525c77af7983c6902f2e82e8b68482fab8359 /Source | |
parent | 79cba639e88fcdbd3c21c6d3c7f087234873154a (diff) | |
parent | 99ed39b011f170f8a6c6ca91d6d12c4858a74d22 (diff) | |
download | CMake-286411ed89b4644d86d6376b21a142a0f32f3fdc.zip CMake-286411ed89b4644d86d6376b21a142a0f32f3fdc.tar.gz CMake-286411ed89b4644d86d6376b21a142a0f32f3fdc.tar.bz2 |
Merge topic 'ninja-multi-rsp'
99ed39b011 Ninja Multi-Config: Make link response files per-config
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5020
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmNinjaNormalTargetGenerator.cxx | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 66e1e40..de68371 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -733,8 +733,13 @@ void cmNinjaNormalTargetGenerator::WriteDeviceLinkStatement( static_cast<int>(cmSystemTools::CalculateCommandLineLengthLimit()) - globalGen->GetRuleCmdLength(this->LanguageLinkerDeviceRule(config)); - build.RspFile = this->ConvertToNinjaPath(std::string("CMakeFiles/") + - genTarget->GetName() + ".rsp"); + std::string path = localGen.GetHomeRelativeOutputPath(); + if (!path.empty()) { + path += '/'; + } + build.RspFile = this->ConvertToNinjaPath( + cmStrCat(path, "CMakeFiles/", genTarget->GetName(), + globalGen->IsMultiConfig() ? cmStrCat('.', config) : "", ".rsp")); // Gather order-only dependencies. this->GetLocalGenerator()->AppendTargetDepends( @@ -1154,8 +1159,13 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement( globalGen->GetRuleCmdLength(linkBuild.Rule); } - linkBuild.RspFile = this->ConvertToNinjaPath(std::string("CMakeFiles/") + - gt->GetName() + ".rsp"); + std::string path = localGen.GetHomeRelativeOutputPath(); + if (!path.empty()) { + path += '/'; + } + linkBuild.RspFile = this->ConvertToNinjaPath( + cmStrCat(path, "CMakeFiles/", gt->GetName(), + globalGen->IsMultiConfig() ? cmStrCat('.', config) : "", ".rsp")); // Gather order-only dependencies. this->GetLocalGenerator()->AppendTargetDepends(gt, linkBuild.OrderOnlyDeps, |