diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index ff5b759e2251d34b95e01599177f2fb60eb69705..8dccb133889585e3f87ed53d3fe689c974873127 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -954,11 +954,16 @@ void cmMakefile::AddLinkLibraryForTarget(const char *target, } } } - // make sure the tpye is correct + // make sure the type is correct if it is currently + // general. So if you do a + // target_link_libraries(foo optimized bar) it will stay + // optimized and not use the lookup. As there maybe the + // case where someone has specifed that a library is both + // debug and optimized. std::string linkType = lib; linkType += "_LINK_TYPE"; const char* linkTypeString = this->GetDefinition( linkType.c_str() ); - if(linkTypeString) + if(llt == cmTarget::GENERAL && linkTypeString) { if(strcmp(linkTypeString, "debug") == 0) {