Fix cmake again :)
[oota-llvm.git] / lib / Target / CMakeLists.txt
1 add_llvm_library(LLVMTarget
2   Mangler.cpp
3   Target.cpp
4   TargetAsmLexer.cpp
5   TargetData.cpp
6   TargetELFWriterInfo.cpp
7   TargetFrameLowering.cpp
8   TargetInstrInfo.cpp
9   TargetIntrinsicInfo.cpp
10   TargetLibraryInfo.cpp
11   TargetLoweringObjectFile.cpp
12   TargetMachine.cpp
13   TargetRegisterInfo.cpp
14   TargetSubtargetInfo.cpp
15   )
16
17 set(LLVM_ENUM_ASM_PRINTERS "")
18 set(LLVM_ENUM_ASM_PARSERS "")
19 set(LLVM_ENUM_DISASSEMBLERS "")
20 foreach(t ${LLVM_TARGETS_TO_BUILD})
21   message(STATUS "Targeting ${t}")
22   add_subdirectory(${t})
23   set( td ${LLVM_MAIN_SRC_DIR}/lib/Target/${t} )
24   file(GLOB asmp_file "${td}/*AsmPrinter.cpp")
25   if( asmp_file )
26     set(LLVM_ENUM_ASM_PRINTERS
27       "${LLVM_ENUM_ASM_PRINTERS}LLVM_ASM_PRINTER(${t})\n")
28   endif()
29   if( EXISTS ${td}/AsmParser/CMakeLists.txt )
30     set(LLVM_ENUM_ASM_PARSERS
31       "${LLVM_ENUM_ASM_PARSERS}LLVM_ASM_PARSER(${t})\n")
32   endif()
33   if( EXISTS ${td}/Disassembler/CMakeLists.txt )
34     set(LLVM_ENUM_DISASSEMBLERS
35       "${LLVM_ENUM_DISASSEMBLERS}LLVM_DISASSEMBLER(${t})\n")
36   endif()
37 endforeach(t)
38
39 # Produce llvm/Config/AsmPrinters.def
40 configure_file(
41   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmPrinters.def.in
42   ${LLVM_BINARY_DIR}/include/llvm/Config/AsmPrinters.def
43   )
44
45 # Produce llvm/Config/AsmParsers.def
46 configure_file(
47   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmParsers.def.in
48   ${LLVM_BINARY_DIR}/include/llvm/Config/AsmParsers.def
49   )
50
51 # Produce llvm/Config/Disassemblers.def
52 configure_file(
53   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Disassemblers.def.in
54   ${LLVM_BINARY_DIR}/include/llvm/Config/Disassemblers.def
55   )