Use explicit add_subdirectory's for LLVM target sublibraries instead
[oota-llvm.git] / lib / Target / CMakeLists.txt
1 add_llvm_library(LLVMTarget
2   Mangler.cpp
3   SubtargetFeature.cpp
4   Target.cpp
5   TargetAsmInfo.cpp
6   TargetAsmLexer.cpp
7   TargetData.cpp
8   TargetELFWriterInfo.cpp
9   TargetFrameLowering.cpp
10   TargetInstrInfo.cpp
11   TargetIntrinsicInfo.cpp
12   TargetLibraryInfo.cpp
13   TargetLoweringObjectFile.cpp
14   TargetMachine.cpp
15   TargetRegisterInfo.cpp
16   TargetSubtarget.cpp
17   )
18
19 set(LLVM_ENUM_ASM_PRINTERS "")
20 set(LLVM_ENUM_ASM_PARSERS "")
21 set(LLVM_ENUM_DISASSEMBLERS "")
22 foreach(t ${LLVM_TARGETS_TO_BUILD})
23   message(STATUS "Targeting ${t}")
24   add_subdirectory(${t})
25   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()
31   if( EXISTS ${td}/AsmParser/CMakeLists.txt )
32     set(LLVM_ENUM_ASM_PARSERS
33       "${LLVM_ENUM_ASM_PARSERS}LLVM_ASM_PARSER(${t})\n")
34   endif()
35   if( EXISTS ${td}/Disassembler/CMakeLists.txt )
36     set(LLVM_ENUM_DISASSEMBLERS
37       "${LLVM_ENUM_DISASSEMBLERS}LLVM_DISASSEMBLER(${t})\n")
38   endif()
39 endforeach(t)
40
41 # Produce llvm/Config/AsmPrinters.def
42 configure_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
48 configure_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
54 configure_file(
55   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Disassemblers.def.in
56   ${LLVM_BINARY_DIR}/include/llvm/Config/Disassemblers.def
57   )