summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-11-02 16:49:44 (GMT)
committerBrad King <brad.king@kitware.com>2012-11-02 16:49:44 (GMT)
commitf3093668739ab21e92f6eddbf9227bbe29fbb2a4 (patch)
tree8f90b21460d5ed857074c9c0cd7fdaef05e030ba /Source/cmTarget.cxx
parenta7742140ad1a88e354037ea391c0e773f147ebd2 (diff)
downloadCMake-f3093668739ab21e92f6eddbf9227bbe29fbb2a4.zip
CMake-f3093668739ab21e92f6eddbf9227bbe29fbb2a4.tar.gz
CMake-f3093668739ab21e92f6eddbf9227bbe29fbb2a4.tar.bz2
Fix default PDB output directory (#13644)
The ComputePDBOutputDir added by commit 3f60dbf1 (Add PDB_OUTPUT_DIRECTORY and PDB_NAME target properties, 2012-09-25) falls back to the current binary directory instead of the target output directory as before. When no PDB_OUTPUT_DIRECTORY property is set we instead should fall back to the target output directory where .pdb files used to go before the new property was added.
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r--Source/cmTarget.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 423b350..f3eb52b 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -2584,7 +2584,10 @@ cmTarget::OutputInfo const* cmTarget::GetOutputInfo(const char* config)
OutputInfo info;
this->ComputeOutputDir(config, false, info.OutDir);
this->ComputeOutputDir(config, true, info.ImpDir);
- this->ComputePDBOutputDir(config, info.PdbDir);
+ if(!this->ComputePDBOutputDir(config, info.PdbDir))
+ {
+ info.PdbDir = info.OutDir;
+ }
OutputInfoMapType::value_type entry(config_upper, info);
i = this->Internal->OutputInfoMap.insert(entry).first;
}
@@ -3940,7 +3943,7 @@ bool cmTarget::ComputeOutputDir(const char* config,
}
//----------------------------------------------------------------------------
-void cmTarget::ComputePDBOutputDir(const char* config, std::string& out)
+bool cmTarget::ComputePDBOutputDir(const char* config, std::string& out)
{
// Look for a target property defining the target output directory
// based on the target type.
@@ -3980,8 +3983,7 @@ void cmTarget::ComputePDBOutputDir(const char* config, std::string& out)
}
if(out.empty())
{
- // Default to the current output directory.
- out = ".";
+ return false;
}
// Convert the output path to a full path in case it is
@@ -3996,6 +3998,7 @@ void cmTarget::ComputePDBOutputDir(const char* config, std::string& out)
this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->
AppendDirectoryForConfig("/", config, "", out);
}
+ return true;
}
//----------------------------------------------------------------------------