CUDA: Populate compiler PDB placeholder during device linking

The device link step runs the host compiler internally so we need to use
the proper compiler PDB file with MSVC.
This commit is contained in:
Brad King
2016-12-13 13:02:11 -05:00
parent d470cb7007
commit 02582b91ad
3 changed files with 15 additions and 0 deletions
@@ -366,12 +366,18 @@ void cmMakefileLibraryTargetGenerator::WriteDeviceLibraryRules(
this->LocalGenerator->GetCurrentBinaryDirectory(), targetOutputReal),
output);
std::string targetFullPathCompilePDB = this->ComputeTargetCompilePDB();
std::string targetOutPathCompilePDB =
this->LocalGenerator->ConvertToOutputFormat(targetFullPathCompilePDB,
cmOutputConverter::SHELL);
vars.Objects = buildObjs.c_str();
vars.ObjectDir = objectDir.c_str();
vars.Target = target.c_str();
vars.LinkLibraries = linkLibs.c_str();
vars.ObjectsQuoted = buildObjs.c_str();
vars.LinkFlags = linkFlags.c_str();
vars.TargetCompilePDB = targetOutPathCompilePDB.c_str();
// Add language feature flags.
std::string langFlags;