BUG: _LINK_TYPE cache variable should never be switched from optimized to debug or vice versa.
This commit is contained in:
parent
51cb75d454
commit
5c9fadee4f
|
@ -346,19 +346,46 @@ void cmTarget::AddLinkLibrary(cmMakefile& mf,
|
|||
|
||||
if(llt != cmTarget::GENERAL)
|
||||
{
|
||||
// Store the library's link type in the cache. If it is a
|
||||
// conflicting type then assume it is always used. This is the
|
||||
// case when the user sets the cache entries for debug and
|
||||
// optimized versions of the library to the same value.
|
||||
std::string linkTypeName = lib;
|
||||
linkTypeName += "_LINK_TYPE";
|
||||
switch(llt)
|
||||
{
|
||||
case cmTarget::DEBUG:
|
||||
mf.AddCacheDefinition(linkTypeName.c_str(),
|
||||
"debug", "Library is used for debug links only",
|
||||
cmCacheManager::STATIC);
|
||||
break;
|
||||
{
|
||||
const char* def = mf.GetDefinition(linkTypeName.c_str());
|
||||
if(!def || strcmp(def, "debug") == 0)
|
||||
{
|
||||
mf.AddCacheDefinition(linkTypeName.c_str(),
|
||||
"debug", "Library is used for debug links only",
|
||||
cmCacheManager::STATIC);
|
||||
}
|
||||
else
|
||||
{
|
||||
mf.AddCacheDefinition(linkTypeName.c_str(),
|
||||
"general", "Library is used for both debug and optimized links",
|
||||
cmCacheManager::STATIC);
|
||||
}
|
||||
} break;
|
||||
case cmTarget::OPTIMIZED:
|
||||
mf.AddCacheDefinition(linkTypeName.c_str(),
|
||||
"optimized", "Library is used for debug links only",
|
||||
cmCacheManager::STATIC);
|
||||
{
|
||||
const char* def = mf.GetDefinition(linkTypeName.c_str());
|
||||
if(!def || strcmp(def, "optimized") == 0)
|
||||
{
|
||||
mf.AddCacheDefinition(linkTypeName.c_str(),
|
||||
"optimized", "Library is used for debug links only",
|
||||
cmCacheManager::STATIC);
|
||||
}
|
||||
else
|
||||
{
|
||||
mf.AddCacheDefinition(linkTypeName.c_str(),
|
||||
"general", "Library is used for both debug and optimized links",
|
||||
cmCacheManager::STATIC);
|
||||
}
|
||||
} break;
|
||||
break;
|
||||
case cmTarget::GENERAL: break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue