blob: 6620882f227938c9908a04eb565e57df4255e97b [file] [log] [blame]
Oscar Fuentes3d01fc72008-09-22 01:08:49 +00001add_llvm_library(LLVMTarget
Benjamin Kramerdbc130f2010-01-16 22:23:09 +00002 Mangler.cpp
Oscar Fuentes3d01fc72008-09-22 01:08:49 +00003 Target.cpp
Oscar Fuentes3d01fc72008-09-22 01:08:49 +00004 TargetData.cpp
Bruno Cardoso Lopesd00d4152009-06-11 22:13:00 +00005 TargetELFWriterInfo.cpp
Anton Korobeynikov7af6fad2011-01-10 12:39:23 +00006 TargetFrameLowering.cpp
Oscar Fuentes3d01fc72008-09-22 01:08:49 +00007 TargetInstrInfo.cpp
Ted Kremenekc55db822009-07-21 17:43:20 +00008 TargetIntrinsicInfo.cpp
Chris Lattnerce991202011-02-18 21:50:34 +00009 TargetLibraryInfo.cpp
Chris Lattnerf0144122009-07-28 03:13:23 +000010 TargetLoweringObjectFile.cpp
Oscar Fuentes3d01fc72008-09-22 01:08:49 +000011 TargetMachine.cpp
Oscar Fuentes3d01fc72008-09-22 01:08:49 +000012 TargetRegisterInfo.cpp
Chandler Carruth48ac8e92011-07-22 08:16:53 +000013 TargetRegistry.cpp
Evan Cheng5b1b44892011-07-01 21:01:15 +000014 TargetSubtargetInfo.cpp
Oscar Fuentes3d01fc72008-09-22 01:08:49 +000015 )
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000016
Chandler Carruthac03e732011-07-29 00:14:25 +000017add_llvm_library_dependencies(LLVMTarget
18 LLVMCore
19 LLVMMC
20 LLVMSupport
21 )
22
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000023set(LLVM_ENUM_ASM_PRINTERS "")
24set(LLVM_ENUM_ASM_PARSERS "")
25set(LLVM_ENUM_DISASSEMBLERS "")
26foreach(t ${LLVM_TARGETS_TO_BUILD})
27 message(STATUS "Targeting ${t}")
28 add_subdirectory(${t})
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000029 set( td ${LLVM_MAIN_SRC_DIR}/lib/Target/${t} )
30 file(GLOB asmp_file "${td}/*AsmPrinter.cpp")
31 if( asmp_file )
32 set(LLVM_ENUM_ASM_PRINTERS
33 "${LLVM_ENUM_ASM_PRINTERS}LLVM_ASM_PRINTER(${t})\n")
34 endif()
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000035 if( EXISTS ${td}/AsmParser/CMakeLists.txt )
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000036 set(LLVM_ENUM_ASM_PARSERS
37 "${LLVM_ENUM_ASM_PARSERS}LLVM_ASM_PARSER(${t})\n")
38 endif()
39 if( EXISTS ${td}/Disassembler/CMakeLists.txt )
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000040 set(LLVM_ENUM_DISASSEMBLERS
41 "${LLVM_ENUM_DISASSEMBLERS}LLVM_DISASSEMBLER(${t})\n")
42 endif()
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000043endforeach(t)
44
45# Produce llvm/Config/AsmPrinters.def
46configure_file(
47 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmPrinters.def.in
48 ${LLVM_BINARY_DIR}/include/llvm/Config/AsmPrinters.def
49 )
50
51# Produce llvm/Config/AsmParsers.def
52configure_file(
53 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmParsers.def.in
54 ${LLVM_BINARY_DIR}/include/llvm/Config/AsmParsers.def
55 )
56
57# Produce llvm/Config/Disassemblers.def
58configure_file(
59 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Disassemblers.def.in
60 ${LLVM_BINARY_DIR}/include/llvm/Config/Disassemblers.def
61 )