From 83782f2571d25ec035a353acce17c8b86c5cb4ad Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Fri, 21 Feb 2014 14:16:52 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201852 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/LLVM-Config.cmake | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/cmake/modules/LLVM-Config.cmake b/cmake/modules/LLVM-Config.cmake index 31395649323..62470d0dde2 100644 --- a/cmake/modules/LLVM-Config.cmake +++ b/cmake/modules/LLVM-Config.cmake @@ -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)