xref: /openbsd-src/gnu/llvm/llvm/lib/CMakeLists.txt (revision d415bd752c734aee168c4ee86ff32e8cc249eb16)
1include(LLVM-Build)
2
3# `Demangle', `Support' and `TableGen' libraries are added on the top-level
4# CMakeLists.txt
5
6add_subdirectory(IR)
7add_subdirectory(FuzzMutate)
8add_subdirectory(FileCheck)
9add_subdirectory(InterfaceStub)
10add_subdirectory(IRPrinter)
11add_subdirectory(IRReader)
12add_subdirectory(CodeGen)
13add_subdirectory(BinaryFormat)
14add_subdirectory(Bitcode)
15add_subdirectory(Bitstream)
16add_subdirectory(DWARFLinker)
17add_subdirectory(DWARFLinkerParallel)
18add_subdirectory(Extensions)
19add_subdirectory(Frontend)
20add_subdirectory(Transforms)
21add_subdirectory(Linker)
22add_subdirectory(Analysis)
23add_subdirectory(LTO)
24add_subdirectory(MC)
25add_subdirectory(MCA)
26add_subdirectory(ObjCopy)
27add_subdirectory(Object)
28add_subdirectory(ObjectYAML)
29add_subdirectory(Option)
30add_subdirectory(Remarks)
31add_subdirectory(Debuginfod)
32add_subdirectory(DebugInfo)
33add_subdirectory(DWP)
34add_subdirectory(ExecutionEngine)
35add_subdirectory(Target)
36add_subdirectory(AsmParser)
37add_subdirectory(LineEditor)
38add_subdirectory(ProfileData)
39add_subdirectory(Passes)
40add_subdirectory(TargetParser)
41add_subdirectory(TextAPI)
42add_subdirectory(ToolDrivers)
43add_subdirectory(XRay)
44if (LLVM_INCLUDE_TESTS)
45  add_subdirectory(Testing)
46endif()
47add_subdirectory(WindowsDriver)
48add_subdirectory(WindowsManifest)
49
50set(LLVMCONFIGLIBRARYDEPENDENCIESINC "${LLVM_BINARY_DIR}/tools/llvm-config/LibraryDependencies.inc")
51
52# Special components which don't have any source attached but aggregate other
53# components
54add_llvm_component_group(all-targets LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD})
55add_llvm_component_group(Engine)
56
57# The native target may not be enabled when cross compiling
58if(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)
61else()
62  add_llvm_component_group(Native)
63  add_llvm_component_group(NativeCodeGen)
64endif()
65
66# Component post-processing
67LLVMBuildResolveComponentsLink()
68LLVMBuildGenerateCFragment(OUTPUT ${LLVMCONFIGLIBRARYDEPENDENCIESINC})
69