blob: 030f8089abf7c5537fb6208c19c637c02d67ce57 [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
Evan Cheng5b1b44892011-07-01 21:01:15 +000013 TargetSubtargetInfo.cpp
Oscar Fuentes3d01fc72008-09-22 01:08:49 +000014 )
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000015
Chandler Carruthac03e732011-07-29 00:14:25 +000016add_llvm_library_dependencies(LLVMTarget
17 LLVMCore
18 LLVMMC
19 LLVMSupport
20 )
21
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000022set(LLVM_ENUM_ASM_PRINTERS "")
23set(LLVM_ENUM_ASM_PARSERS "")
24set(LLVM_ENUM_DISASSEMBLERS "")
25foreach(t ${LLVM_TARGETS_TO_BUILD})
26 message(STATUS "Targeting ${t}")
27 add_subdirectory(${t})
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000028 set( td ${LLVM_MAIN_SRC_DIR}/lib/Target/${t} )
29 file(GLOB asmp_file "${td}/*AsmPrinter.cpp")
30 if( asmp_file )
31 set(LLVM_ENUM_ASM_PRINTERS
32 "${LLVM_ENUM_ASM_PRINTERS}LLVM_ASM_PRINTER(${t})\n")
33 endif()
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000034 if( EXISTS ${td}/AsmParser/CMakeLists.txt )
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000035 set(LLVM_ENUM_ASM_PARSERS
36 "${LLVM_ENUM_ASM_PARSERS}LLVM_ASM_PARSER(${t})\n")
37 endif()
38 if( EXISTS ${td}/Disassembler/CMakeLists.txt )
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000039 set(LLVM_ENUM_DISASSEMBLERS
40 "${LLVM_ENUM_DISASSEMBLERS}LLVM_DISASSEMBLER(${t})\n")
41 endif()
Oscar Fuentes6d857ca2011-02-18 22:06:14 +000042endforeach(t)
43
44# Produce llvm/Config/AsmPrinters.def
45configure_file(
46 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmPrinters.def.in
47 ${LLVM_BINARY_DIR}/include/llvm/Config/AsmPrinters.def
48 )
49
50# Produce llvm/Config/AsmParsers.def
51configure_file(
52 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmParsers.def.in
53 ${LLVM_BINARY_DIR}/include/llvm/Config/AsmParsers.def
54 )
55
56# Produce llvm/Config/Disassemblers.def
57configure_file(
58 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Disassemblers.def.in
59 ${LLVM_BINARY_DIR}/include/llvm/Config/Disassemblers.def
60 )