diff options
author | Brad King <brad.king@kitware.com> | 2007-02-01 14:57:24 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2007-02-01 14:57:24 (GMT) |
commit | 712345ffc4614467671fd5948fb80d711ae28994 (patch) | |
tree | e76883b82f308ef9acd1eb8e1d36e9fca9514d11 /Source/cmMakefileExecutableTargetGenerator.cxx | |
parent | 9d217a94e5745b3c620b94b8d9a4abb1100c514b (diff) | |
download | CMake-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.cxx | 13 |
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. |