Procházet zdrojové kódy

target_link_libraries: Remove likely-broken ancient compatibility check

Since commit daa6d2bc04 (ENH: updated handling of debug and optimized
target link libraries, 2006-11-29, v2.6.0~2471) the ancient
`<lib>_LINK_TYPE` compatibility lookup was done using the name of the
dependent target for which `target_link_libraries` is called, rather
than the name of the library dependency being considered.  This code
probably does nothing.  Remove it.
Brad King před 3 roky
rodič
revize
42590df9f9
1 změnil soubory, kde provedl 3 přidání a 18 odebrání
  1. 3 18
      Source/cmTargetLinkLibrariesCommand.cxx

+ 3 - 18
Source/cmTargetLinkLibrariesCommand.cxx

@@ -271,25 +271,10 @@ bool cmTargetLinkLibrariesCommand(std::vector<std::string> const& args,
       if (!tll.HandleLibrary(currentProcessingState, args[i], llt)) {
         return false;
       }
-    } else {
-      // Lookup old-style cache entry if type is unspecified.  So if you
-      // do a target_link_libraries(foo optimized bar) it will stay optimized
-      // and not use the lookup.  As there may be the case where someone has
-      // specified that a library is both debug and optimized.  (this check is
-      // only there for backwards compatibility when mixing projects built
-      // with old versions of CMake and new)
       llt = GENERAL_LibraryType;
-      std::string linkType = cmStrCat(args[0], "_LINK_TYPE");
-      cmValue linkTypeString = mf.GetDefinition(linkType);
-      if (linkTypeString) {
-        if (*linkTypeString == "debug") {
-          llt = DEBUG_LibraryType;
-        }
-        if (*linkTypeString == "optimized") {
-          llt = OPTIMIZED_LibraryType;
-        }
-      }
-      if (!tll.HandleLibrary(currentProcessingState, args[i], llt)) {
+    } else {
+      if (!tll.HandleLibrary(currentProcessingState, args[i],
+                             GENERAL_LibraryType)) {
         return false;
       }
     }