blob: 09b48ce632f2e0db2eb67f3a942de0f6e03f1b53 [file] [log] [blame]
Oscar Fuentesa229b3c2008-09-22 01:08:49 +00001add_llvm_library(LLVMTarget
Benjamin Kramer520442b2010-01-16 22:23:09 +00002 Mangler.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +00003 SubtargetFeature.cpp
4 Target.cpp
Rafael Espindola0a017a62010-12-10 07:39:47 +00005 TargetAsmInfo.cpp
Chris Lattner81e2b9a2010-01-22 01:58:44 +00006 TargetAsmLexer.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +00007 TargetData.cpp
Bruno Cardoso Lopes66189502009-06-11 22:13:00 +00008 TargetELFWriterInfo.cpp
Anton Korobeynikov441ae5b2011-01-10 12:39:23 +00009 TargetFrameLowering.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000010 TargetInstrInfo.cpp
Ted Kremenekd0014cf2009-07-21 17:43:20 +000011 TargetIntrinsicInfo.cpp
Chris Lattner0e125bb2011-02-18 21:50:34 +000012 TargetLibraryInfo.cpp
Chris Lattner5e693ed2009-07-28 03:13:23 +000013 TargetLoweringObjectFile.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000014 TargetMachine.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000015 TargetRegisterInfo.cpp
16 TargetSubtarget.cpp
17 )
Oscar Fuentes5ed96262011-02-18 22:06:14 +000018
19set(LLVM_ENUM_ASM_PRINTERS "")
20set(LLVM_ENUM_ASM_PARSERS "")
21set(LLVM_ENUM_DISASSEMBLERS "")
22foreach(t ${LLVM_TARGETS_TO_BUILD})
23 message(STATUS "Targeting ${t}")
24 add_subdirectory(${t})
Oscar Fuentes5ed96262011-02-18 22:06:14 +000025 set( td ${LLVM_MAIN_SRC_DIR}/lib/Target/${t} )
26 file(GLOB asmp_file "${td}/*AsmPrinter.cpp")
27 if( asmp_file )
28 set(LLVM_ENUM_ASM_PRINTERS
29 "${LLVM_ENUM_ASM_PRINTERS}LLVM_ASM_PRINTER(${t})\n")
30 endif()
Oscar Fuentes5ed96262011-02-18 22:06:14 +000031 if( EXISTS ${td}/AsmParser/CMakeLists.txt )
Oscar Fuentes5ed96262011-02-18 22:06:14 +000032 set(LLVM_ENUM_ASM_PARSERS
33 "${LLVM_ENUM_ASM_PARSERS}LLVM_ASM_PARSER(${t})\n")
34 endif()
35 if( EXISTS ${td}/Disassembler/CMakeLists.txt )
Oscar Fuentes5ed96262011-02-18 22:06:14 +000036 set(LLVM_ENUM_DISASSEMBLERS
37 "${LLVM_ENUM_DISASSEMBLERS}LLVM_DISASSEMBLER(${t})\n")
38 endif()
Oscar Fuentes5ed96262011-02-18 22:06:14 +000039endforeach(t)
40
41# Produce llvm/Config/AsmPrinters.def
42configure_file(
43 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmPrinters.def.in
44 ${LLVM_BINARY_DIR}/include/llvm/Config/AsmPrinters.def
45 )
46
47# Produce llvm/Config/AsmParsers.def
48configure_file(
49 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmParsers.def.in
50 ${LLVM_BINARY_DIR}/include/llvm/Config/AsmParsers.def
51 )
52
53# Produce llvm/Config/Disassemblers.def
54configure_file(
55 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Disassemblers.def.in
56 ${LLVM_BINARY_DIR}/include/llvm/Config/Disassemblers.def
57 )