summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileExecutableTargetGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2007-02-01 14:57:24 (GMT)
committerBrad King <brad.king@kitware.com>2007-02-01 14:57:24 (GMT)
commit712345ffc4614467671fd5948fb80d711ae28994 (patch)
treee76883b82f308ef9acd1eb8e1d36e9fca9514d11 /Source/cmMakefileExecutableTargetGenerator.cxx
parent9d217a94e5745b3c620b94b8d9a4abb1100c514b (diff)
downloadCMake-712345ffc4614467671fd5948fb80d711ae28994.zip
CMake-712345ffc4614467671fd5948fb80d711ae28994.tar.gz
CMake-712345ffc4614467671fd5948fb80d711ae28994.tar.bz2
BUG: The .pdb file generated for a library or executable should match the real file name used for the target. This addresses bug#3277.
Diffstat (limited to 'Source/cmMakefileExecutableTargetGenerator.cxx')
-rw-r--r--Source/cmMakefileExecutableTargetGenerator.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/Source/cmMakefileExecutableTargetGenerator.cxx b/Source/cmMakefileExecutableTargetGenerator.cxx
index 4be2229..6a9f90f 100644
--- a/Source/cmMakefileExecutableTargetGenerator.cxx
+++ b/Source/cmMakefileExecutableTargetGenerator.cxx
@@ -110,8 +110,9 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
// Get the name of the executable to generate.
std::string targetName;
std::string targetNameReal;
+ std::string targetNamePDB;
this->Target->GetExecutableNames
- (targetName, targetNameReal,
+ (targetName, targetNameReal, targetNamePDB,
this->LocalGenerator->ConfigurationName.c_str());
// Construct the full path version of the names.
@@ -187,8 +188,7 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
}
std::string targetFullPath = outpath + targetName;
std::string targetFullPathReal = outpath + targetNameReal;
- std::string targetFullPathPDB = outpath + this->Target->GetName();
- targetFullPathPDB += ".pdb";
+ std::string targetFullPathPDB = outpath + targetNamePDB;
std::string targetOutPathPDB =
this->Convert(targetFullPathPDB.c_str(),
cmLocalGenerator::FULL,
@@ -269,12 +269,14 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
{
std::string cleanName;
std::string cleanRealName;
+ std::string cleanPDBName;
this->Target->GetExecutableCleanNames
- (cleanName, cleanRealName,
+ (cleanName, cleanRealName, cleanPDBName,
this->LocalGenerator->ConfigurationName.c_str());
std::string cleanFullName = outpath + cleanName;
std::string cleanFullRealName = outpath + cleanRealName;
+ std::string cleanFullPDBName = outpath + cleanPDBName;
exeCleanFiles.push_back(this->Convert(cleanFullName.c_str(),
cmLocalGenerator::START_OUTPUT,
cmLocalGenerator::UNCHANGED));
@@ -291,6 +293,9 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
cmLocalGenerator::START_OUTPUT,
cmLocalGenerator::UNCHANGED));
}
+ exeCleanFiles.push_back(this->Convert(cleanPDBName.c_str(),
+ cmLocalGenerator::START_OUTPUT,
+ cmLocalGenerator::UNCHANGED));
}
// Add a command to remove any existing files for this executable.