|  | ### Components built ### | 
|  |  | 
|  | set(LLVM_ENABLE_PROJECTS "clang;clang-tools-extra;lld" CACHE STRING "") | 
|  |  | 
|  | ### Target architectures ### | 
|  |  | 
|  | # Compiler target architectures | 
|  | set(LLVM_TARGETS_TO_BUILD "X86" CACHE STRING "") | 
|  |  | 
|  | set(LLVM_ENABLE_RUNTIMES "compiler-rt" CACHE STRING "") | 
|  |  | 
|  | # CMake builtin variables and modules are not available for this cache file | 
|  | # Gather directly build/host information | 
|  | execute_process(COMMAND "uname" "-m" OUTPUT_VARIABLE _UNAME_M) | 
|  | string(STRIP ${_UNAME_M} BUILD_MACHINE_ARCH) | 
|  |  | 
|  | ### Default settings for the toolchain ### | 
|  |  | 
|  | # Use the LLVM components | 
|  | set(CLANG_DEFAULT_OBJCOPY llvm-objcopy CACHE STRING "") | 
|  | set(CLANG_DEFAULT_LINKER lld CACHE STRING "") | 
|  |  | 
|  | set(CLANG_ENABLE_STATIC_ANALYZER ON CACHE BOOL "") | 
|  | set(LLVM_ENABLE_LIBCXX OFF CACHE BOOL "") | 
|  | set(LLVM_ENABLE_ZLIB ON CACHE BOOL "") | 
|  |  | 
|  | ### Disk size optimizations ### | 
|  |  | 
|  | # All the tools will use libllvm shared library | 
|  | set(LLVM_BUILD_LLVM_DYLIB ON CACHE BOOL "") | 
|  | set(LLVM_LINK_LLVM_DYLIB ON CACHE BOOL "") | 
|  |  | 
|  | # When exceptions are disabled, unwind tables are large and useless | 
|  | set(LLVM_ENABLE_UNWIND_TABLES OFF CACHE BOOL "") | 
|  |  | 
|  | # Mildly useful misc stuff (which might also be hard to cross-compile) | 
|  | set(CLANG_ENABLE_ARCMT OFF CACHE BOOL "") | 
|  | set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "") | 
|  | set(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "") | 
|  | set(LLVM_ENABLE_Z3_SOLVER OFF CACHE BOOL "") | 
|  | set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "") | 
|  | set(LLVM_INCLUDE_GO_TESTS OFF CACHE BOOL "") | 
|  | set(LLVM_FORCE_ENABLE_STATS ON CACHE BOOL "") | 
|  |  | 
|  | # Do not store debug information by default. | 
|  | set(CMAKE_BUILD_TYPE Release CACHE STRING "") | 
|  |  | 
|  | # Use the distributions below for the installation | 
|  | set(LLVM_INSTALL_TOOLCHAIN_ONLY OFF CACHE BOOL "") | 
|  |  | 
|  | ### Distributions ### | 
|  |  | 
|  | set(LLVM_DISTRIBUTIONS | 
|  | Toolchain | 
|  | Development | 
|  | CACHE STRING "") | 
|  |  | 
|  | set(LLVM_TOOLCHAIN_TOOLS | 
|  | llvm-addr2line | 
|  | llvm-ar | 
|  | llvm-cxxfilt | 
|  | llvm-dis | 
|  | llvm-dwarfdump | 
|  | llvm-lib | 
|  | llvm-link | 
|  | llvm-mc | 
|  | llvm-nm | 
|  | llvm-objcopy | 
|  | llvm-objdump | 
|  | llvm-rc | 
|  | llvm-ranlib | 
|  | llvm-readelf | 
|  | llvm-readobj | 
|  | llvm-size | 
|  | llvm-strip | 
|  | llvm-symbolizer | 
|  | llvm-xray | 
|  | CACHE STRING "") | 
|  |  | 
|  | set(LLVM_BUILD_UTILS ON CACHE BOOL "") | 
|  | set(LLVM_INSTALL_UTILS ON CACHE BOOL "") | 
|  | set(LLVM_TOOLCHAIN_UTILITIES | 
|  | FileCheck | 
|  | count | 
|  | not | 
|  | CACHE STRING "") | 
|  |  | 
|  | set(LLVM_RUNTIME_DISTRIBUTION_COMPONENTS | 
|  | CACHE STRING "") | 
|  |  | 
|  | set(LLVM_Toolchain_DISTRIBUTION_COMPONENTS | 
|  | builtins | 
|  | runtimes | 
|  | clang | 
|  | clang-cpp | 
|  | clang-format | 
|  | clang-offload-bundler | 
|  | clang-resource-headers | 
|  | clang-tidy | 
|  | clangd | 
|  | libclang | 
|  | lld | 
|  | LLVM | 
|  | LTO | 
|  | ${LLVM_TOOLCHAIN_TOOLS} | 
|  | ${LLVM_TOOLCHAIN_UTILITIES} | 
|  | CACHE STRING "") | 
|  |  | 
|  | set(LLVM_Development_DISTRIBUTION_COMPONENTS | 
|  | # LLVM | 
|  | cmake-exports | 
|  | development-cmake-exports | 
|  | toolchain-cmake-exports | 
|  | llc | 
|  | llvm-config | 
|  | llvm-headers | 
|  | llvm-libraries | 
|  | opt | 
|  | Remarks | 
|  | # Clang | 
|  | clang-cmake-exports | 
|  | clang-development-cmake-exports | 
|  | clang-toolchain-cmake-exports | 
|  | clang-headers | 
|  | clang-libraries | 
|  | # LLD | 
|  | lld-cmake-exports | 
|  | lld-toolchain-cmake-exports | 
|  | CACHE STRING "") |