Teach LLVM-Config to use logical target names (1/2)
authorNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 21 Feb 2014 14:16:52 +0000 (14:16 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 21 Feb 2014 14:16:52 +0000 (14:16 +0000)
LLVM library names are now available as logical CMake targets both
to our own build and to application CMake code.  Replace use of
'list(FIND)' with a simple 'if(TARGET)' to determine whether a
library is available.

Contributed by Brad King.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201852 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/LLVM-Config.cmake

index 31395649323826941113b36d8959fee6bc066528..62470d0dde2721b3a06256fcc3a5a093773e0957 100644 (file)
@@ -104,31 +104,25 @@ function(llvm_map_components_to_libnames out_libs)
     # add codegen, asmprinter, asmparser, disassembler
     list(FIND LLVM_TARGETS_TO_BUILD ${c} idx)
     if( NOT idx LESS 0 )
-      list(FIND llvm_libs "LLVM${c}CodeGen" idx)
-      if( NOT idx LESS 0 )
+      if( TARGET LLVM${c}CodeGen )
         list(APPEND expanded_components "LLVM${c}CodeGen")
       else()
-        list(FIND llvm_libs "LLVM${c}" idx)
-        if( NOT idx LESS 0 )
+        if( TARGET LLVM${c} )
           list(APPEND expanded_components "LLVM${c}")
         else()
           message(FATAL_ERROR "Target ${c} is not in the set of libraries.")
         endif()
       endif()
-      list(FIND llvm_libs "LLVM${c}AsmPrinter" asmidx)
-      if( NOT asmidx LESS 0 )
+      if( TARGET LLVM${c}AsmPrinter )
         list(APPEND expanded_components "LLVM${c}AsmPrinter")
       endif()
-      list(FIND llvm_libs "LLVM${c}AsmParser" asmidx)
-      if( NOT asmidx LESS 0 )
+      if( TARGET LLVM${c}AsmParser )
         list(APPEND expanded_components "LLVM${c}AsmParser")
       endif()
-      list(FIND llvm_libs "LLVM${c}Info" asmidx)
-      if( NOT asmidx LESS 0 )
+      if( TARGET LLVM${c}Info )
         list(APPEND expanded_components "LLVM${c}Info")
       endif()
-      list(FIND llvm_libs "LLVM${c}Disassembler" asmidx)
-      if( NOT asmidx LESS 0 )
+      if( TARGET LLVM${c}Disassembler )
         list(APPEND expanded_components "LLVM${c}Disassembler")
       endif()
     elseif( c STREQUAL "native" )
@@ -189,12 +183,10 @@ endfunction()
 function(explicit_map_components_to_libraries out_libs)
   llvm_map_components_to_libnames(link_libs ${ARGN})
   llvm_expand_dependencies(expanded_components ${link_libs})
-  get_property(llvm_libs GLOBAL PROPERTY LLVM_LIBS)
   # Return just the libraries included in this build:
   set(result)
   foreach(c ${expanded_components})
-    list(FIND llvm_libs ${c} lib_idx)
-    if( NOT lib_idx LESS 0 )
+    if( TARGET ${c} )
       set(result ${result} ${c})
     endif()
   endforeach(c)