1if( CMAKE_HOST_UNIX AND HAVE_LIBRT )
2  set(rt_lib rt)
3endif()
4
5add_llvm_component_library(LLVMOrcJIT
6  CompileOnDemandLayer.cpp
7  CompileUtils.cpp
8  Core.cpp
9  DebugObjectManagerPlugin.cpp
10  DebuggerSupportPlugin.cpp
11  DebugUtils.cpp
12  EPCDynamicLibrarySearchGenerator.cpp
13  EPCDebugObjectRegistrar.cpp
14  EPCEHFrameRegistrar.cpp
15  EPCGenericDylibManager.cpp
16  EPCGenericJITLinkMemoryManager.cpp
17  EPCGenericRTDyldMemoryManager.cpp
18  EPCIndirectionUtils.cpp
19  ExecutionUtils.cpp
20  ObjectFileInterface.cpp
21  IndirectionUtils.cpp
22  IRCompileLayer.cpp
23  IRTransformLayer.cpp
24  JITTargetMachineBuilder.cpp
25  LazyReexports.cpp
26  Layer.cpp
27  LookupAndRecordAddrs.cpp
28  LLJIT.cpp
29  MachOPlatform.cpp
30  MemoryMapper.cpp
31  ELFNixPlatform.cpp
32  Mangling.cpp
33  ObjectLinkingLayer.cpp
34  ObjectTransformLayer.cpp
35  OrcABISupport.cpp
36  OrcV2CBindings.cpp
37  RTDyldObjectLinkingLayer.cpp
38  SimpleRemoteEPC.cpp
39  Speculation.cpp
40  SpeculateAnalyses.cpp
41  ExecutorProcessControl.cpp
42  TaskDispatch.cpp
43  ThreadSafeModule.cpp
44  ADDITIONAL_HEADER_DIRS
45  ${LLVM_MAIN_INCLUDE_DIR}/llvm/ExecutionEngine/Orc
46
47  DEPENDS
48  intrinsics_gen
49
50  LINK_LIBS
51  ${LLVM_PTHREAD_LIB}
52  ${rt_lib}
53
54  LINK_COMPONENTS
55  Core
56  ExecutionEngine
57  JITLink
58  Object
59  OrcShared
60  OrcTargetProcess
61  MC
62  MCDisassembler
63  Passes
64  RuntimeDyld
65  Support
66  Target
67  TransformUtils
68  )
69
70add_subdirectory(Shared)
71add_subdirectory(TargetProcess)
72
73target_link_libraries(LLVMOrcJIT
74  PRIVATE
75  LLVMAnalysis
76  LLVMBitReader
77  LLVMBitWriter
78  LLVMPasses
79  )
80