mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
Add targets to cmake for specific target components.
This adds the following targets to cmake. These can be used to build and link only specific parts of a backend, instead of having to link the whole backend. - AllTargetsAsmPrinters, AllTargetsAsmParsers, AllTargetsDescs, AllTargetsDisassemblers, AllTargetsInfos A typical use for these is instead of linking ${LLVM_TARGETS_TO_BUILD}. This commit changes llvm-mc to show how to use the new targets. Reviewed by Chris Bieneman. llvm-svn: 235324
This commit is contained in:
parent
5d6b438e18
commit
8e43f16a62
@ -132,6 +132,41 @@ function(llvm_map_components_to_libnames out_libs)
|
|||||||
# already processed
|
# already processed
|
||||||
elseif( c STREQUAL "all" )
|
elseif( c STREQUAL "all" )
|
||||||
list(APPEND expanded_components ${LLVM_AVAILABLE_LIBS})
|
list(APPEND expanded_components ${LLVM_AVAILABLE_LIBS})
|
||||||
|
elseif( c STREQUAL "AllTargetsAsmPrinters" )
|
||||||
|
# Link all the asm printers from all the targets
|
||||||
|
foreach(t ${LLVM_TARGETS_TO_BUILD})
|
||||||
|
if( TARGET LLVM${t}AsmPrinter )
|
||||||
|
list(APPEND expanded_components "LLVM${t}AsmPrinter")
|
||||||
|
endif()
|
||||||
|
endforeach(t)
|
||||||
|
elseif( c STREQUAL "AllTargetsAsmParsers" )
|
||||||
|
# Link all the asm parsers from all the targets
|
||||||
|
foreach(t ${LLVM_TARGETS_TO_BUILD})
|
||||||
|
if( TARGET LLVM${t}AsmParser )
|
||||||
|
list(APPEND expanded_components "LLVM${t}AsmParser")
|
||||||
|
endif()
|
||||||
|
endforeach(t)
|
||||||
|
elseif( c STREQUAL "AllTargetsDescs" )
|
||||||
|
# Link all the descs from all the targets
|
||||||
|
foreach(t ${LLVM_TARGETS_TO_BUILD})
|
||||||
|
if( TARGET LLVM${t}Desc )
|
||||||
|
list(APPEND expanded_components "LLVM${t}Desc")
|
||||||
|
endif()
|
||||||
|
endforeach(t)
|
||||||
|
elseif( c STREQUAL "AllTargetsDisassemblers" )
|
||||||
|
# Link all the disassemblers from all the targets
|
||||||
|
foreach(t ${LLVM_TARGETS_TO_BUILD})
|
||||||
|
if( TARGET LLVM${t}Disassembler )
|
||||||
|
list(APPEND expanded_components "LLVM${t}Disassembler")
|
||||||
|
endif()
|
||||||
|
endforeach(t)
|
||||||
|
elseif( c STREQUAL "AllTargetsInfos" )
|
||||||
|
# Link all the infos from all the targets
|
||||||
|
foreach(t ${LLVM_TARGETS_TO_BUILD})
|
||||||
|
if( TARGET LLVM${t}Info )
|
||||||
|
list(APPEND expanded_components "LLVM${t}Info")
|
||||||
|
endif()
|
||||||
|
endforeach(t)
|
||||||
else( NOT idx LESS 0 )
|
else( NOT idx LESS 0 )
|
||||||
# Canonize the component name:
|
# Canonize the component name:
|
||||||
string(TOUPPER "${c}" capitalized)
|
string(TOUPPER "${c}" capitalized)
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
set(LLVM_LINK_COMPONENTS
|
set(LLVM_LINK_COMPONENTS
|
||||||
${LLVM_TARGETS_TO_BUILD}
|
AllTargetsAsmPrinters
|
||||||
|
AllTargetsAsmParsers
|
||||||
|
AllTargetsDescs
|
||||||
|
AllTargetsDisassemblers
|
||||||
|
AllTargetsInfos
|
||||||
MC
|
MC
|
||||||
MCParser
|
MCParser
|
||||||
Support
|
Support
|
||||||
|
Loading…
x
Reference in New Issue
Block a user