Rewrite the CMake build to use explicit dependencies between libraries,
[oota-llvm.git] / lib / Target / ARM / CMakeLists.txt
1 set(LLVM_TARGET_DEFINITIONS ARM.td)
2
3 tablegen(ARMGenRegisterInfo.inc -gen-register-info)
4 tablegen(ARMGenInstrInfo.inc -gen-instr-info)
5 tablegen(ARMGenCodeEmitter.inc -gen-emitter)
6 tablegen(ARMGenMCCodeEmitter.inc -gen-emitter -mc-emitter)
7 tablegen(ARMGenMCPseudoLowering.inc -gen-pseudo-lowering)
8 tablegen(ARMGenAsmWriter.inc -gen-asm-writer)
9 tablegen(ARMGenAsmMatcher.inc -gen-asm-matcher)
10 tablegen(ARMGenDAGISel.inc -gen-dag-isel)
11 tablegen(ARMGenFastISel.inc -gen-fast-isel)
12 tablegen(ARMGenCallingConv.inc -gen-callingconv)
13 tablegen(ARMGenSubtargetInfo.inc -gen-subtarget)
14 tablegen(ARMGenEDInfo.inc -gen-enhanced-disassembly-info)
15 tablegen(ARMGenDecoderTables.inc -gen-arm-decoder)
16 add_public_tablegen_target(ARMCommonTableGen)
17
18 add_llvm_target(ARMCodeGen
19   ARMAsmPrinter.cpp
20   ARMBaseInstrInfo.cpp
21   ARMBaseRegisterInfo.cpp
22   ARMCodeEmitter.cpp
23   ARMConstantIslandPass.cpp
24   ARMConstantPoolValue.cpp
25   ARMELFWriterInfo.cpp
26   ARMExpandPseudoInsts.cpp
27   ARMFastISel.cpp
28   ARMFrameLowering.cpp
29   ARMGlobalMerge.cpp
30   ARMHazardRecognizer.cpp
31   ARMISelDAGToDAG.cpp
32   ARMISelLowering.cpp
33   ARMInstrInfo.cpp
34   ARMJITInfo.cpp
35   ARMLoadStoreOptimizer.cpp
36   ARMMCInstLower.cpp
37   ARMRegisterInfo.cpp
38   ARMSelectionDAGInfo.cpp
39   ARMSubtarget.cpp
40   ARMTargetMachine.cpp
41   ARMTargetObjectFile.cpp
42   MLxExpansionPass.cpp
43   NEONMoveFix.cpp
44   Thumb1InstrInfo.cpp
45   Thumb1FrameLowering.cpp
46   Thumb1RegisterInfo.cpp
47   Thumb2ITBlockPass.cpp
48   Thumb2InstrInfo.cpp
49   Thumb2RegisterInfo.cpp
50   Thumb2SizeReduction.cpp
51   )
52
53 add_llvm_library_dependencies(LLVMARMCodeGen
54   LLVMARMAsmPrinter
55   LLVMARMDesc
56   LLVMARMInfo
57   LLVMAnalysis
58   LLVMAsmPrinter
59   LLVMCodeGen
60   LLVMCore
61   LLVMMC
62   LLVMSelectionDAG
63   LLVMSupport
64   LLVMTarget
65   )
66
67 # workaround for hanging compilation on MSVC10
68 if( MSVC_VERSION EQUAL 1600 )
69 set_property(
70   SOURCE ARMISelLowering.cpp
71   PROPERTY COMPILE_FLAGS "/Od"
72   )
73 endif()
74
75 add_subdirectory(TargetInfo)
76 add_subdirectory(AsmParser)
77 add_subdirectory(Disassembler)
78 add_subdirectory(InstPrinter)
79 add_subdirectory(MCTargetDesc)