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