xref: /llvm-project/llvm/lib/ExecutionEngine/Orc/CMakeLists.txt (revision 212cdc9a377a1b3ac96be0da20212592ebd2c818)
1if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
2  set (atomic_lib atomic)
3endif()
4
5if( CMAKE_HOST_UNIX AND HAVE_LIBRT )
6  set(rt_lib rt)
7endif()
8
9add_llvm_component_library(LLVMOrcJIT
10  AbsoluteSymbols.cpp
11  COFFVCRuntimeSupport.cpp
12  COFFPlatform.cpp
13  CompileOnDemandLayer.cpp
14  CompileUtils.cpp
15  Core.cpp
16  DebugObjectManagerPlugin.cpp
17  DebugUtils.cpp
18  EHFrameRegistrationPlugin.cpp
19  EPCDynamicLibrarySearchGenerator.cpp
20  EPCDebugObjectRegistrar.cpp
21  EPCEHFrameRegistrar.cpp
22  EPCGenericDylibManager.cpp
23  EPCGenericJITLinkMemoryManager.cpp
24  EPCGenericRTDyldMemoryManager.cpp
25  EPCIndirectionUtils.cpp
26  ExecutionUtils.cpp
27  ObjectFileInterface.cpp
28  IndirectionUtils.cpp
29  IRCompileLayer.cpp
30  IRTransformLayer.cpp
31  IRPartitionLayer.cpp
32  JITTargetMachineBuilder.cpp
33  JITLinkReentryTrampolines.cpp
34  LazyObjectLinkingLayer.cpp
35  LazyReexports.cpp
36  Layer.cpp
37  LinkGraphLayer.cpp
38  LinkGraphLinkingLayer.cpp
39  LoadLinkableFile.cpp
40  LookupAndRecordAddrs.cpp
41  LLJIT.cpp
42  MachO.cpp
43  MachOPlatform.cpp
44  MapperJITLinkMemoryManager.cpp
45  MemoryMapper.cpp
46  ELFNixPlatform.cpp
47  Mangling.cpp
48  ObjectLinkingLayer.cpp
49  ObjectTransformLayer.cpp
50  OrcABISupport.cpp
51  OrcV2CBindings.cpp
52  RTDyldObjectLinkingLayer.cpp
53  SectCreate.cpp
54  SimpleRemoteEPC.cpp
55  Speculation.cpp
56  SpeculateAnalyses.cpp
57  ExecutorProcessControl.cpp
58  TaskDispatch.cpp
59  ThreadSafeModule.cpp
60  RedirectionManager.cpp
61  JITLinkRedirectableSymbolManager.cpp
62  ReOptimizeLayer.cpp
63  ADDITIONAL_HEADER_DIRS
64  ${LLVM_MAIN_INCLUDE_DIR}/llvm/ExecutionEngine/Orc
65
66  DEPENDS
67  intrinsics_gen
68
69  LINK_LIBS
70  ${LLVM_PTHREAD_LIB}
71  ${rt_lib}
72  ${atomic_lib}
73
74  LINK_COMPONENTS
75  BinaryFormat
76  Core
77  ExecutionEngine
78  JITLink
79  Object
80  OrcShared
81  OrcTargetProcess
82  WindowsDriver
83  MC
84  Passes
85  RuntimeDyld
86  Support
87  Target
88  TargetParser
89  TransformUtils
90  )
91
92add_subdirectory(Debugging)
93add_subdirectory(Shared)
94add_subdirectory(TargetProcess)
95
96target_link_libraries(LLVMOrcJIT
97  PRIVATE
98  LLVMAnalysis
99  LLVMBitReader
100  LLVMBitWriter
101  LLVMPasses
102  )
103