| ### 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 "") |