3 # `Demangle', `Support' and `TableGen' libraries are added on the top-level
7 add_subdirectory(FuzzMutate)
8 add_subdirectory(FileCheck)
9 add_subdirectory(InterfaceStub)
10 add_subdirectory(IRPrinter)
11 add_subdirectory(IRReader)
12 add_subdirectory(CodeGen)
13 add_subdirectory(BinaryFormat)
14 add_subdirectory(Bitcode)
15 add_subdirectory(Bitstream)
16 add_subdirectory(DWARFLinker)
17 add_subdirectory(DWARFLinkerParallel)
18 add_subdirectory(Extensions)
19 add_subdirectory(Frontend)
20 add_subdirectory(Transforms)
21 add_subdirectory(Linker)
22 add_subdirectory(Analysis)
26 add_subdirectory(ObjCopy)
27 add_subdirectory(Object)
28 add_subdirectory(ObjectYAML)
29 add_subdirectory(Option)
30 add_subdirectory(Remarks)
31 add_subdirectory(Debuginfod)
32 add_subdirectory(DebugInfo)
34 add_subdirectory(ExecutionEngine)
35 add_subdirectory(Target)
36 add_subdirectory(AsmParser)
37 add_subdirectory(LineEditor)
38 add_subdirectory(ProfileData)
39 add_subdirectory(Passes)
40 add_subdirectory(TargetParser)
41 add_subdirectory(TextAPI)
42 add_subdirectory(ToolDrivers)
43 add_subdirectory(XRay)
44 if (LLVM_INCLUDE_TESTS)
45 add_subdirectory(Testing)
47 add_subdirectory(WindowsDriver)
48 add_subdirectory(WindowsManifest)
50 set(LLVMCONFIGLIBRARYDEPENDENCIESINC "${LLVM_BINARY_DIR}/tools/llvm-config/LibraryDependencies.inc")
52 # Special components which don't have any source attached but aggregate other
54 add_llvm_component_group(all-targets LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD})
55 add_llvm_component_group(Engine)
57 # The native target may not be enabled when cross compiling
58 if(TARGET ${LLVM_NATIVE_ARCH})
59 add_llvm_component_group(Native LINK_COMPONENTS ${LLVM_NATIVE_ARCH})
60 add_llvm_component_group(NativeCodeGen LINK_COMPONENTS ${LLVM_NATIVE_ARCH}CodeGen)
62 add_llvm_component_group(Native)
63 add_llvm_component_group(NativeCodeGen)
66 # Component post-processing
67 LLVMBuildResolveComponentsLink()
68 LLVMBuildGenerateCFragment(OUTPUT ${LLVMCONFIGLIBRARYDEPENDENCIESINC})