summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileLibraryTargetGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-12-13 18:02:11 (GMT)
committerBrad King <brad.king@kitware.com>2017-01-12 15:39:03 (GMT)
commit02582b91ad92969d8fbbd845a5d48b3fbd762966 (patch)
tree9dce94911a77826b9067a9538c0ac93fd4bffcf5 /Source/cmMakefileLibraryTargetGenerator.cxx
parentd470cb70077acf2216afe097b5abe379f1828239 (diff)
downloadCMake-02582b91ad92969d8fbbd845a5d48b3fbd762966.zip
CMake-02582b91ad92969d8fbbd845a5d48b3fbd762966.tar.gz
CMake-02582b91ad92969d8fbbd845a5d48b3fbd762966.tar.bz2
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.
Diffstat (limited to 'Source/cmMakefileLibraryTargetGenerator.cxx')
-rw-r--r--Source/cmMakefileLibraryTargetGenerator.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx
index d4ad16d..27b7c21 100644
--- a/Source/cmMakefileLibraryTargetGenerator.cxx
+++ b/Source/cmMakefileLibraryTargetGenerator.cxx
@@ -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;