[llvm] r201852 - Teach LLVM-Config to use logical target names (1/2)

NAKAMURA Takumi geek4civic at gmail.com
Fri Feb 21 06:16:53 PST 2014


Author: chapuni
Date: Fri Feb 21 08:16:52 2014
New Revision: 201852

URL: http://llvm.org/viewvc/llvm-project?rev=201852&view=rev
Log:
Teach LLVM-Config to use logical target names (1/2)

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.

Modified:
    llvm/trunk/cmake/modules/LLVM-Config.cmake

Modified: llvm/trunk/cmake/modules/LLVM-Config.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/LLVM-Config.cmake?rev=201852&r1=201851&r2=201852&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/LLVM-Config.cmake (original)
+++ llvm/trunk/cmake/modules/LLVM-Config.cmake Fri Feb 21 08:16:52 2014
@@ -104,31 +104,25 @@ function(llvm_map_components_to_libnames
     # 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)





More information about the llvm-commits mailing list