030f8089abf7c5537fb6208c19c637c02d67ce57
[oota-llvm.git] / lib / Target / CMakeLists.txt
1 add_llvm_library(LLVMTarget
2   Mangler.cpp
3   Target.cpp
4   TargetData.cpp
5   TargetELFWriterInfo.cpp
6   TargetFrameLowering.cpp
7   TargetInstrInfo.cpp
8   TargetIntrinsicInfo.cpp
9   TargetLibraryInfo.cpp
10   TargetLoweringObjectFile.cpp
11   TargetMachine.cpp
12   TargetRegisterInfo.cpp
13   TargetSubtargetInfo.cpp
14   )
15
16 add_llvm_library_dependencies(LLVMTarget
17   LLVMCore
18   LLVMMC
19   LLVMSupport
20   )
21
22 set(LLVM_ENUM_ASM_PRINTERS "")
23 set(LLVM_ENUM_ASM_PARSERS "")
24 set(LLVM_ENUM_DISASSEMBLERS "")
25 foreach(t ${LLVM_TARGETS_TO_BUILD})
26   message(STATUS "Targeting ${t}")
27   add_subdirectory(${t})
28   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()
34   if( EXISTS ${td}/AsmParser/CMakeLists.txt )
35     set(LLVM_ENUM_ASM_PARSERS
36       "${LLVM_ENUM_ASM_PARSERS}LLVM_ASM_PARSER(${t})\n")
37   endif()
38   if( EXISTS ${td}/Disassembler/CMakeLists.txt )
39     set(LLVM_ENUM_DISASSEMBLERS
40       "${LLVM_ENUM_DISASSEMBLERS}LLVM_DISASSEMBLER(${t})\n")
41   endif()
42 endforeach(t)
43
44 # Produce llvm/Config/AsmPrinters.def
45 configure_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
51 configure_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
57 configure_file(
58   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Disassemblers.def.in
59   ${LLVM_BINARY_DIR}/include/llvm/Config/Disassemblers.def
60   )