BUG: <CONFIG>_LOCATION property should use the config name in the directory and not $(OutDir). This addresses bug#5363.

This commit is contained in:
Brad King 2007-08-01 11:36:35 -04:00
parent f0d1e1626d
commit e0fc8b2995

View File

@ -1277,17 +1277,23 @@ const char* cmTarget::ImportedGetLocation(const char* config)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
const char* cmTarget::NormalGetLocation(const char* config) const char* cmTarget::NormalGetLocation(const char* config)
{ {
this->Location = this->GetDirectory(); this->Location = this->GetDirectory(config);
if(!this->Location.empty()) if(!this->Location.empty())
{ {
this->Location += "/"; this->Location += "/";
} }
if(!config)
{
// No specific configuration was given so it will not appear on
// the result of GetDirectory. Add a name here to be replaced at
// build time.
const char* cfgid = this->Makefile->GetDefinition("CMAKE_CFG_INTDIR"); const char* cfgid = this->Makefile->GetDefinition("CMAKE_CFG_INTDIR");
if(cfgid && strcmp(cfgid, ".") != 0) if(cfgid && strcmp(cfgid, ".") != 0)
{ {
this->Location += cfgid; this->Location += cfgid;
this->Location += "/"; this->Location += "/";
} }
}
this->Location += this->GetFullName(config, false); this->Location += this->GetFullName(config, false);
return this->Location.c_str(); return this->Location.c_str();
} }