Merge XXXGenRegisterDesc.inc XXXGenRegisterNames.inc XXXGenRegisterInfo.h.inc
[oota-llvm.git] / lib / Target / X86 / CMakeLists.txt
1 set(LLVM_TARGET_DEFINITIONS X86.td)
2
3 tablegen(X86GenRegisterInfo.inc -gen-register-info)
4 tablegen(X86GenDisassemblerTables.inc -gen-disassembler)
5 tablegen(X86GenInstrNames.inc -gen-instr-enums)
6 tablegen(X86GenInstrInfo.inc -gen-instr-desc)
7 tablegen(X86GenAsmWriter.inc -gen-asm-writer)
8 tablegen(X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1)
9 tablegen(X86GenAsmMatcher.inc -gen-asm-matcher)
10 tablegen(X86GenDAGISel.inc -gen-dag-isel)
11 tablegen(X86GenFastISel.inc -gen-fast-isel)
12 tablegen(X86GenCallingConv.inc -gen-callingconv)
13 tablegen(X86GenSubtarget.inc -gen-subtarget)
14 tablegen(X86GenEDInfo.inc -gen-enhanced-disassembly-info)
15
16 set(sources
17   SSEDomainFix.cpp
18   X86AsmBackend.cpp
19   X86AsmPrinter.cpp
20   X86COFFMachineModuleInfo.cpp
21   X86CodeEmitter.cpp
22   X86ELFWriterInfo.cpp
23   X86FastISel.cpp
24   X86FloatingPoint.cpp
25   X86FrameLowering.cpp
26   X86ISelDAGToDAG.cpp
27   X86ISelLowering.cpp
28   X86InstrInfo.cpp
29   X86JITInfo.cpp
30   X86MachObjectWriter.cpp
31   X86MCAsmInfo.cpp
32   X86MCCodeEmitter.cpp 
33   X86MCInstLower.cpp
34   X86RegisterInfo.cpp
35   X86SelectionDAGInfo.cpp
36   X86Subtarget.cpp
37   X86TargetMachine.cpp
38   X86TargetObjectFile.cpp
39   )
40
41 if( CMAKE_CL_64 )
42   # A workaround for a bug in cmake 2.8.3. See PR 8885.
43   if( CMAKE_VERSION STREQUAL "2.8.3" )
44     include(CMakeDetermineCompilerId)
45   endif()
46   # end of workaround.
47   enable_language(ASM_MASM)
48   ADD_CUSTOM_COMMAND(
49     OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj
50     MAIN_DEPENDENCY X86CompilationCallback_Win64.asm
51     COMMAND ${CMAKE_ASM_MASM_COMPILER} /Fo ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj /c ${CMAKE_CURRENT_SOURCE_DIR}/X86CompilationCallback_Win64.asm
52    )
53    set(sources ${sources} ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj)
54 endif()
55
56 add_llvm_target(X86CodeGen ${sources})
57
58 add_subdirectory(AsmParser)
59 add_subdirectory(Disassembler)
60 add_subdirectory(InstPrinter)
61 add_subdirectory(MCTargetDesc)
62 add_subdirectory(TargetInfo)
63 add_subdirectory(Utils)